2014-10-04 17 views
6

Z List<String> można edytować element po prostu z tym:edytować listę <Tuple> poz

var index = List.FindIndex(s => s.Number == box.Text); 
List[index] = new String; 

Ale, jak ją stosować na List<Tuple<string, string>> na przykład?

+2

Chyba oznacza 'List >'. –

+0

@MattBurland nie ma rozszerzenia "Numer" dla 's' z' Listą '.. ale najwyraźniej z rozwiązaniem' AD.Net' muszę użyć s.item1 – Enumy

Odpowiedz

4
var tuple = List.Find(s => s.Item1 == box.Text); 
//assuming you're searching for the first string, but you can change the predicate anyway. 
tuple = new Tuple<string, string>(new String, tuple.Item2); 

Jak wspomniano w innych odpowiedzi, można oczywiście użyć indeksu zbyt, ale można też po prostu znaleźć obiekt i zaktualizować ją, że powinna działać jak dobrze.

+0

To nie zmieniło listy dla mnie. Po prostu utworzono zmienną lokalną, która została wyrzucona. – Binarian

7

Można znaleźć indeks w podobny sposób - stosując warunek do każdej krotki z listy:

var index = listOfTuples.FindIndex(t => t.Item1 == box1.Text || t.Item2 == box2.Text); 

można zastąpić element wywołując Tuple.Create:

listOfTuples[index] = Tuple.Create(box3.Text, box4.Text); 
Powiązane problemy