पूर्णांक के List<int>
(उदाहरण के लिए: 1 - 3 - 4
) मैं इसे इस प्रकार की स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?सूची <int> को अल्पविराम से अलग मूल्यों की स्ट्रिंग के लिए
उदाहरण के लिए, उत्पादन किया जाना चाहिए:
string values = "1,3,4";
पूर्णांक के List<int>
(उदाहरण के लिए: 1 - 3 - 4
) मैं इसे इस प्रकार की स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?सूची <int> को अल्पविराम से अलग मूल्यों की स्ट्रिंग के लिए
उदाहरण के लिए, उत्पादन किया जाना चाहिए:
string values = "1,3,4";
एक अन्य समाधान Aggregate के उपयोग होगा। यह बहुत धीमी के रूप में जाना जाता है तो अन्य प्रदान किए गए समाधान!
var ints = new List<int>{1,2,3,4};
var strings =
ints.Select(i => i.ToString(CultureInfo.InvariantCulture))
.Aggregate((s1, s2) => s1 + ", " + s2);
नीचे टिप्पणी देखें कि आपको इसका उपयोग क्यों नहीं करना चाहिए। इसके बजाय String.Join
या StringBuilder
का उपयोग करें।
var ints = new List<int>{1,3,4};
var stringsArray = ints.Select(i=>i.ToString()).ToArray();
var values = string.Join(",", stringsArray);
धन्यवाद Albin। कॉमा के साथ पूर्णांक की स्ट्रिंग से रिवर्स कार्य के लिए ई, मुझे एक सूची
.NET 4 ['String.Join'] में (http://msdn.microsoft.com/en-us/library/dd992421.aspx) में एक ओवरलोड लोड किया गया है जो' IEnumerable
@Ciupaz, ['String.Split()'] (http://msdn.microsoft.com/en-us/library/system.string.split.aspx) का उपयोग करें। –
public static string ToCommaString(this List<int> list)
{
if (list.Count <= 0)
return ("");
if (list.Count == 1)
return (list[0].ToString());
System.Text.StringBuilder sb = new System.Text.StringBuilder(list[0].ToString());
for (int x = 1; x < list.Count; x++)
sb.Append("," + list[x].ToString());
return (sb.ToString());
}
public static List<int> CommaStringToIntList(this string _s)
{
string[] ss = _s.Split(',');
List<int> list = new List<int>();
foreach (string s in ss)
list.Add(Int32.Parse(s));
return (list);
}
उपयोग:
String s = "1,2,3,4";
List<int> list = s.CommaStringToIntList();
list.Add(5);
s = list.ToCommaString();
s += ",6";
list = s.CommaStringToIntList();
आपने इस वैकल्पिक समाधान को क्यों पोस्ट किया, जब string.Join() का उपयोग कर कुछ बहुत कॉम्पैक्ट समाधान पहले ही दिए जा चुके थे? –
-1 इस तरह के तार बनाने के लिए कुख्यात रूप से खराब समाधान (विशेष रूप से जब सूची लंबी होती है)। स्ट्रिंग। जॉइन या स्ट्रिंगबिल्डर जाने का रास्ता हैं। स्टैक ओवरफ्लो के लिए दुखद है कि एक निम्न गुणवत्ता वाले ओपी को यह भी पता नहीं है कि सर्वश्रेष्ठ जवाब कैसे स्वीकार किया जाए। –
@GertArnold मैं आपसे सहमत हूं। बस एक और समाधान दिखाना चाहता था और कुछ भी प्रदर्शन का उल्लेख करना भूल गया। मैंने इस जवाब को हटाने की कोशिश की लेकिन मैं नहीं कर सकता। मैं इसका उपयोग न करने के लिए उत्तर अपडेट कर दूंगा। –
यह बहुत उदार है। डाउनवोट हटा दिया गया। –