Я думаю, вы можете иметь в виду, что вы хотите редактировать элемент в списке, основываясь на том, что вводит пользователь? IE: отфильтровать список объектов по некоторому предикату?
Если это так, вы можете сделать это с помощью linq следующим образом:
List<MyType> myList = PopulateList();
string key = textBox1.Text;
string newValue = "new value";
// If you only want a single item...
MyType item = (from item in myList
where item.Key == key
select key).FirstOrDefault();
// If you want a list of matching items
List<MyType> items = from item in myList
where item.Key == key
select key;
Затем вы можете редактировать элементы, которые вы хотите, либо напрямую:
item.Value = newValue;
Или путем итерации:
foreach(MyType i in items)
{
i.Value = newValue;
}
Вы можете добиться того же без LINQ, просто вызвав функцию .Where () с лямбда-выражением, например:
List<MyType> items = myList.Where(i => i.Key == key);