Re: Строки и тупые оптимизаторы из MS
От: Kolesiki  
Дата: 22.06.21 21:30
Оценка:
Да, и чтобы мой гнев был полезным, вот в какой код вылилась простая задача "удалить из листбокса выделенные строки"!

var gen = lbxExtraData.ItemContainerGenerator;
var victimIdxs = new List<int>();
for (int i = extData.Count - 1; i >= 0; i--) { // extData - это враппер (List<string>)lbxExtraData.ItemsSource
    var iv = (ListBoxItem)gen.ContainerFromIndex(i);
    if (iv.IsSelected) victimIdxs.Add(i);
}
foreach (var idx in victimIdxs)
    extData.RemoveAt(idx);
lbxExtraData.RefreshView();


Вместо того, чтобы просто взять выделенные элементы (в отдельный массив) и удалить их из списка. Да...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.