2011-01-27 5 views
5

मेरी सूची में {"a","b","c"} है जिसमें स्ट्रिंग में {"alphabets"} है। मैं स्ट्रिंग में सूची जोड़ना चाहता हूं। मुझे इस `{" alphabetsabc "} की तरह अंतिम आउटपुट की आवश्यकता है। मैं linq का उपयोग कर ऐसा करना पसंद है।linq का उपयोग कर स्ट्रिंग में तारों की सूची कैसे जोड़ें?

उत्तर

7

LINQ का उपयोग करना, या यहाँ तक कि Join, इस मामले में overkill होगा। ।

string s = "alphabets"; 
var list = new List<string> { "a", "b", "c" }; 

string result = s + string.Concat(list); 

(ध्यान दें कि यदि आप .NET4 उपयोग नहीं कर रहे तो आपको इसके string.Concat(list.ToArray()) का उपयोग करना होगा Concat का अधिभार है कि एक IEnumerable<T> लेता पुराने संस्करणों में मौजूद नहीं है: Concat चाल अच्छी तरह से करना होगा ।)

5

क्यों नहीं string.Join? लिंक का उपयोग करना एक ओवरकिल होगा।

+0

और जब आप 'कंसट' का उपयोग कर सकते हैं तो 'जॉइन' स्वयं अधिक हो जाएगा! – LukeH

+0

@LukeH: वास्तव में। – Vlad

1

आपको विधि की आवश्यकता है, यदि आप वास्तव में LINQ का उपयोग करना चाहते हैं।

2

त्वरित & गंदा:

List<string> list = new List<string>() {"a", "b", "c"}; 
string s = "alphabets"; 

string output = s + string.Join("", list.ToArray()); 
+4

.NET4 में उन्होंने आखिरकार स्ट्रिंग में एक अधिभार जोड़ा। जोइन स्ट्रिंग का एक आईनेमरेबल लेता है। ऐसे में। ToArray अनिवार्य होगा। – spender

+2

इस मामले में 'जॉइन' का उपयोग करना अधिक है। 'कंसट 'के साथ क्या गलत है? http://msdn.microsoft.com/en-us/library/system.string.concat.aspx – LukeH

+0

कंसट के साथ कुछ भी गलत नहीं है बस मेरे दिमाग में आने वाली पहली चीज़ शामिल हों :) – saku

संबंधित मुद्दे