फॉरएच म्यूटेबल नहीं है, यह डेटा संरचना को किसी भी तरह से नहीं बदलता है।
आप या तो:
- पाश अपने आप को संभाल, एक सूचकांक
- एक नई सूची निर्माण, का उपयोग कर .Select और .ToList
(आप .NET 3.5 का उपयोग कर रहे प्रदान की) के साथ
# 1 का उदाहरण:
for (Int32 index = 0; index < myList.Count; index++)
if (myList[index].Trim().Length == 0)
myList[index] = "0.0";
.NET 3.5 और LINQ के साथ
:
myList = (from a in myList
select (a.Trim().Length == 0) ? "0.0" : a).ToList();
.NET 3.5, Linq-सिंटैक्स का उपयोग नहीं है, लेकिन Linq-कोड का उपयोग कर के साथ
:
myList = myList.Select(a => (a.Trim().Length == 0) ? "0.0" : a).ToList();
संपादित: आप युगल की एक नई सूची का उत्पादन करना चाहते हैं, तुम भी है कि एक ही बार में LINQ का उपयोग कर सकते हैं:
List<Double> myDoubleList =
(from a in myList
select (a.Trim().Length == 0 ? "0" : a) into d
select Double.Parse(d)).ToList();
ध्यान दें कि बजाय सिर्फ "0" दशमलव बिंदु पर निर्भर करता है किया जा रहा है पूर्ण विराम सी का उपयोग करते हुए "0.0" haracter। अपने सिस्टम पर ऐसा नहीं है, तो मैं सिर्फ़ वही "0" बदल दिया, लेकिन एक और अधिक उचित तरीके से एक स्पष्ट सांख्यिक स्वरूपण लेने के लिए Double.Parse करने के लिए कॉल को बदलने के लिए, इस तरह होगा:
List<Double> myDoubleList =
(from a in myList
select (a.Trim().Length == 0 ? "0.0" : a) into d
select Double.Parse(d, CultureInfo.InvariantCulture)).ToList();
स्रोत
2009-03-24 10:59:23
मैं अत्यधिक तुम यात्रा करने के लिए www.lambdaexpression.net – Delashmate