दिलचस्प पोस्ट
सीएसएस संक्रमण पर कॉलबैक जावा के लिए माइग्रेशन एंड्रॉइड में एक छवि दृश्य के लिए टिंट कैसे सेट करें? वर्तमान C या C ++ मानक दस्तावेज़ कहां से मिलते हैं? कैसे mysql रूट पासवर्ड रीसेट करें? कैसे जावास्क्रिप्ट के साथ विंडो पूर्ण स्क्रीन बनाने के लिए (स्क्रीन पर सभी को खींच कर) किसी प्रोग्राम में एक एक्सटेंशन को जोड़ने के लिए स्क्रिप्ट UIScrollView स्क्रॉल सामग्री आकार अस्पष्टता MySQL में "collations के गैरकानूनी मिश्रण" समस्या निवारण याद रखें कि ताज़ा करने के बाद कौन सा टैब सक्रिय था कीस्टोर प्रमाण पत्र के SHA-1 फिंगरप्रिंट जावा: एआरएम्स जैसे PHP के शामिल होने के लिए फ़ंक्शन ()? इन अनुमतियों को क्यों अस्वीकार कर दिया जा रहा है? लॉगिन उपयोगकर्ता 'आईआईएस APPPOOL \ ASP.NET v4.0' के लिए विफल हुआ HTML5 वेब ऐप में OAuth2 का उपयोग करना

सी # सूची <स्ट्रिंग> सीमांकक के साथ स्ट्रिंग करने के लिए

क्या कुछ संग्रह को सीमांकक के साथ स्ट्रिंग और अलग-अलग मानों में तेजी से कनवर्ट करने के लिए सी # में फ़ंक्शन है?

उदाहरण के लिए:

List<string> names -> string names_together = "John, Anna, Monica"

वेब के समाधान से एकत्रित समाधान "सी # सूची <स्ट्रिंग> सीमांकक के साथ स्ट्रिंग करने के लिए"

आप String.Join उपयोग कर सकते हैं। यदि आपके पास एक List<string> तो आप पहले ToArray को कॉल कर सकते हैं:

 List<string> names = new List<string>() { "John", "Anna", "Monica" }; var result = String.Join(", ", names.ToArray()); 

.NET 4 में आपको ToArray अब और ToArray नहीं है, क्योंकि IEnumerable<string> का अधिभार है String.Join एक IEnumerable<string> लेता है

अगर आप चाहें तो आप यह भी linq के साथ कर सकते हैं

 var names = new List<string>() { "John", "Anna", "Monica" }; var joinedNames = names.Aggregate((a, b) => a + ", " + b); 

हालांकि मैं क्वार्टरमेस्टर के जवाब में गैर- linq सिंटैक्स को पसंद करता हूं और मुझे लगता है कि Aggregate धीमी गति (शायद अधिक स्ट्रिंग कन्साटाएनेशन ऑपरेशन) हो सकती है।

 List<string> targets = new List<string>(); var InboxChecked = true; var BannerChecked = false; var EmailChecked = true; if (InboxChecked) { targets.Add("Inbox"); } if (BannerChecked) { targets.Add("Banner"); } if (EmailChecked) { targets.Add("Email"); } var index = 0; if (targets.Any()) { var aggregate = targets.Aggregate((s1, s2) => { return ++index == targets.Count - 1 ? s1 + " and " + s2 : s1 + ", " + s2; }); // aggregate.Dump(); } // returns -> Inbox and Email