- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
class MyClass
{
private List<MyObject> _collection = new List<MyObject>();
public int SelectedObjectIndex { get; set; }
private void SelectionChanged( List<MyViewObject> selectedObjects )
{
bool bFound = false;
foreach (MyViewObject item in objects)
{
if (!bFound)
{
for (int i = 0; i < _collection.Count; i++)
{
if (item.Tag != null && item.Tag is MyObject)
{
if (_collection[i] == item.Tag)
{
this.SelectedObjectIndex = i;
bFound = true;
break;
}
}
}
}
else
{
break;
}
}
if (!bFound)
{
SelectedObjectIndex = -1;
}
}
}
Просто кладезь какой-то.
Я переделал исходный код, чтобы было понятнее кто здесь кому и не нужно было разбираться со сложной структурой классов, которая используется в исходнике.
Все имена классов вымышленные, на них не нужно обращать внимание - все лишь для демонстрации подхода к построению циклов и поиску объектов в коллекциях.
akaDElpher 18.02.2012 06:19 # +1
ICELedyanoj 18.02.2012 10:32 # +1
Уволили. Теперь вот принял себе в наследство его код.
Печатал, гад, очень быстро. Кода наворотил - просто гигатонны, но он на 99% состоит из конструкций такого рода.
Но не MVVM. Это я упростил код, чтобы было видно саму суть. Там в оригинале с гридом идет работа, но не расписывать же все классы и методы. 9415 - тоже его работа.
wvxvw 18.02.2012 16:26 # 0
ICELedyanoj 19.02.2012 02:50 # 0
absolut 28.02.2012 08:01 # 0
roman-kashitsyn 28.02.2012 09:34 # +1
absolut 28.02.2012 21:58 # 0
ICELedyanoj 28.02.2012 10:26 # −1
absolut 28.02.2012 21:59 # −1