दिलचस्प पोस्ट
पिवोट तालिका और कंसैनेटेट कॉलम jquery ajax, स्ट्रीम को संवर्धित रूप से पढ़ें? वेबएक्साशन कैसे एक शरीर के साथ पूरी प्रतिक्रिया पाने के लिए? क्या Google मानचित्र एपीआई v3 पर कस्टम टेक्स्ट लिखना संभव है? एनएफसी टैग क्लोनिंग को कैसे रोकें? Django व्यवस्थापक, स्थैतिक और मीडिया फ़ाइलों में भ्रम सरणी प्रकार – कार्य पैरामीटर के रूप में असाइनमेंट / उपयोग के लिए नियम एकाधिक कैच ब्लाकों से अधिक सुरुचिपूर्ण अपवाद हैंडलिंग? DBMS_OUTPUT.PUT_LINE मुद्रण नहीं है एंटीटी फ्रेमवर्क 6 में मल्टी-एसिंक? एंड्रॉइड में चिकना स्क्रॉलिंग सी # मैट्रिक्स लाइब्रेरी के लिए सिफारिश Layout_weight विशेषता को गतिशील रूप से कोड से कैसे सेट करें? आप टेक्स्टरिए में कर्सर की स्थिति कैसे प्राप्त करते हैं? मैं Windows पर कस्टम यूआरएल हेन्डलर कैसे जोड़ सकता हूं आईट्यून की तरह: //

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

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

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

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