Dictionary(int key,list<x> y)
В y
есть элементы name
Если y.name != ключу
в котором лежит лист, то удали этот элемент из листа.
Нужно сделать пробег по всему Dictionary
.
Я пробовал foreach
,но он ругается на то, что, когда удаляешь элемент листа, пишет что лист модифицирован.
Ещё один вариант, в функциональном стиле:
dict = dict.Where(item => item.Key == item.Value.name)
.ToDictionary(item => item.Key, item => item.Value);
Вы создаёте полностью новый словарь, и заменяете старый на новый, так что никакой модификации нет.
При этом вы подменяете объект, так что те, у кого была своя ссылка на ваш объект, будут работать со старой версией словаря. Это может быть то или не то, что вы хотите, в зависимости от того, как устроена ваша программа. (Например, если другие пользователи вашего словаря работают с ним, они могут не рассчитывать на то, что словарь поменяется.)
public class list
{
public int name { get; set; }
}
Dictionary<int, list> dict = new Dictionary<int, list>();
dict[1] = new list() { name = 100 };
dict[2] = new list() { name = 2 };
dict[3] = new list() { name = 300 };
foreach (var mismatch in dict.Where(item => item.Key != item.Value.name).ToList())
{
dict.Remove(mismatch.Key);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Использую фреймворк для кросс-платформенных программ EtoForms
Здравствуйте, подскажите пожалуйста, у меня есть два JSON объекта
Необходимо сделать пролистывание ListBox в самый низДелаю при инициализации окна: