2008-12-19 12 views
43

में स्ट्रिंग में किसी सरणी को कन्वर्ट करने के लिए सबसे छोटी विधि this question के सटीक डुप्लिकेट के रूप में बंद है।सी #/LINQ

मेरे पास तत्वों की एक सरणी/सूची है। मैं इसे एक कस्टम डिलीमीटर से अलग एक स्ट्रिंग में परिवर्तित करना चाहता हूं। उदाहरण के लिए:

[1,2,3,4,5] => "1,2,3,4,5" 

सी # में ऐसा करने का सबसे छोटा/सबसे आसान तरीका क्या है?

मैंने हमेशा सूची को साइकिल करके और यह जांच कर लिया है कि विभाजक जोड़ने से पहले वर्तमान तत्व अंतिम नहीं है या नहीं।

for(int i=0; i<arr.Length; ++i) 
{ 
    str += arr[i].ToString(); 
    if(i<arr.Length) 
     str += ","; 
} 

क्या कोई LINQ फ़ंक्शन है जो मुझे कम कोड लिखने में मदद कर सकता है?

उत्तर

134
String.Join(",", arr.Select(p=>p.ToString()).ToArray()) 
+6

आप वास्तव में toArray() ... string.Join एक IEnumerable ले जा सकते हैं की जरूरत नहीं है, और IEnumerable.Select एक IEnumerable देता है। – neminem

+7

@neminem 'string.Join (स्ट्रिंग, आईनेमेरेबल ) '2008 में मौजूद नहीं था। –

36
String.Join(",", array.Select(o => o.ToString()).ToArray());