मैं एक स्ट्रिंग सरणी को सिंगल स्ट्रिंग में बदलना चाहूंगा।
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
मैं "हैलो वर्ल्ड!" जैसा कुछ करना चाहूंगा।
मैं एक स्ट्रिंग सरणी को सिंगल स्ट्रिंग में बदलना चाहूंगा।
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
मैं "हैलो वर्ल्ड!" जैसा कुछ करना चाहूंगा।
जवाबों:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
var separator = ", "; string.Join(separator , test);
string.Join(string.Empty, test)एक का उपयोग करने के बजाय उपयोग करने का सुझाव दूंगा empty-paranthesis।
विधि के पहले से उल्लेखित उपयोग का उपयोग करने की तुलना में थोड़ा तेज विकल्प कॉनैट () विधि है। यह एक खाली सीमांकक पैरामीटर की आवश्यकता नहीं है। उदाहरण:Join()Join()
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
इसलिए यह तेजी से होने की संभावना है।
Concatबेहतर है, के आंतरिक कोड में Join, यह प्रत्येक आइटम के बाद विभाजक को जोड़ देगा। लेकिन Concatऐसे कोड नहीं हैं, यह सरल और अधिक प्रत्यक्ष है Join। यह सबसे फिट उत्तर है।
प्रयत्न:
String.Join("", test);
जो दो तत्वों को एक साथ जोड़कर एक स्ट्रिंग लौटाए। ""इंगित करता है कि आप चाहते हैं कि तार बिना किसी विभाजक के एक साथ जुड़ जाएं।
"Hello "प्रश्न में मूल स्ट्रिंग में पहले से ही एक अनुगामी स्थान था। यदि अंतरिक्ष पहले से ही नहीं था, तो आप सही होंगे, और " "एक विभाजक के रूप में उपयोग करने से अधिक समझ में आएगा।
एक साधारण स्ट्रिंग। कॉनकैट () जो आपको चाहिए।
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = string.Concat(test);
यदि आपको एक सेपरेटर (स्थान, अल्पविराम आदि) जोड़ने की आवश्यकता है, तो string.Join () का उपयोग किया जाना चाहिए।
string[] test = new string[2];
test[0] = "Red";
test[1] = "Blue";
string result = string.Join(",", test);
यदि आपको स्ट्रिंग के बजाय तत्वों की गड़गड़ाहट के साथ एक स्ट्रिंग सरणी पर यह प्रदर्शन करना है। जॉइन्ट () प्रदर्शन के दृष्टिकोण से बेहतर है। सेपरेटर के रूप में बस एक "" (रिक्त) तर्क दें। StringBuilder का उपयोग प्रदर्शन के लिए भी किया जा सकता है, लेकिन यह कोड को थोड़ा लंबा कर देगा।
Concatऔर अगर आपके पास 4 या उससे कम तार हैं Join, StringBuilderतो आप तेजी से बढ़ सकते हैं।
Aggregate उसी के लिए भी इस्तेमाल किया जा सकता है।
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);
String.Joinकई अतिरिक्त तारों के निर्माण के कारण यह लागू करने के लिए बेहद बेकार तरीका है । कृपया उचित संस्करण के लिए stackoverflow.com/questions/217805/… पढ़ें Aggregate।
string ConvertStringArrayToString(string[] array)
{
//
// Concatenate all the elements into a StringBuilder.
//
StringBuilder strinbuilder = new StringBuilder();
foreach (string value in array)
{
strinbuilder.Append(value);
strinbuilder.Append(' ');
}
return strinbuilder.ToString();
}
string.Join(" ", array)(आपके अलावा एक अनुगामी स्थान जोड़ता है)। पुस्तकालय में सिर्फ एक का उपयोग क्यों नहीं?
स्वीकृत उत्तर में, String.Join इसके उपयोग के प्रति सर्वोत्तम अभ्यास नहीं है। String.Concat का उपयोग किया जाना चाहिए क्योंकि ओपी में पहले आइटम में एक अनुगामी स्थान शामिल था: "हैलो" (एक अशक्त सीमांकक का उपयोग करने के बजाय)।
हालांकि, जब से ओपी ने "हैलो वर्ल्ड!" परिणाम के लिए कहा, स्ट्रिंग। अभी भी उपयुक्त विधि है, लेकिन अनुगामी व्हाट्सएप को इसके बजाय परिसीमन में ले जाना चाहिए।
// string[] test = new string[2];
// test[0] = "Hello ";
// test[1] = "World!";
string[] test = { "Hello", "World" }; // Alternative array creation syntax
string result = String.Join(" ", test);