2014-10-04 9 views
6

एक List<String> के साथ आप इस के साथ बस एक आइटम संपादित कर सकते हैं:संपादित एक सूची <Tuple> आइटम

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

लेकिन, यह कैसे उदाहरण के लिए एक List<Tuple<string, string>> पर लागू करने के लिए?

+2

मैं आपको लगता है मतलब 'सूची <टुपल <स्ट्रिंग, स्ट्रिंग >> '। –

+0

@MattBurland वहाँ एक 'सूची ' साथ कोई विस्तार '' s' के लिए Number' है .. लेकिन जाहिरा तौर पर 'AD.Net' समाधान के साथ मैं s.item1 – Enumy

उत्तर

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); 

अन्य जवाब में उल्लेख किया है, आप निश्चित रूप से भी सूचकांक का उपयोग कर सकते हैं, लेकिन आप भी सिर्फ वस्तु खोजने के लिए और इसे अद्यतन, कि रूप में अच्छी तरह से काम करना चाहिए कर सकते हैं।

+0

वह मेरे लिए सूची परिवर्तन नहीं किया उपयोग करना होगा। यह सिर्फ एक स्थानीय चर बनाया गया था जो फेंक दिया गया था। – Binarian

7

आप एक समान तरीके से सूचकांक पा सकते हैं - सूची में से प्रत्येक टपल करने के लिए एक शर्त लगाने से:

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

आप Tuple.Create को फोन करके एक आइटम की जगह ले सकता:

listOfTuples[index] = Tuple.Create(box3.Text, box4.Text); 
संबंधित मुद्दे