C# में char[] (कैरेक्टर सरणी) को string में बदलने के लिए string कंस्ट्रक्टर का उपयोग किया जाता है जो char[] स्वीकार करता है।
उदाहरण
using System;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
char[] ch = new char[5];
ch[0] = 'H';
ch[1] = 'e';
ch[2] = 'l';
ch[3] = 'l';
ch[4] = 'o';
// कैरेक्टर सरणी से स्ट्रिंग बनाएं
string myChar = new string(ch);
Console.WriteLine("Converted to string = {0}", myChar);
}
}
}
आउटपुट
Converted to string = Hello
अन्य तरीके
1. String.Join (सेपरेटर के साथ)
char[] chars = { 'H', 'e', 'l', 'l', 'o' };
string s = string.Join("", chars); // "Hello"
string s2 = string.Join("-", chars); // "H-e-l-l-o"
2. String.Concat
string s = string.Concat(chars); // "Hello"
3. LINQ Aggregate
using System.Linq;
string s = chars.Aggregate("", (acc, c) => acc + c);
4. StringBuilder (बड़े सरणी के लिए कुशल)
using System.Text; var sb = new StringBuilder(); foreach (char c in chars) sb.Append(c); string s = sb.ToString();
आंशिक सरणी से स्ट्रिंग
// कंस्ट्रक्टर ओवरलोड: new string(char[], startIndex, length)
char[] arr = { 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' };
string first = new string(arr, 0, 5); // "Hello"
string second = new string(arr, 6, 5); // "World"
स्ट्रिंग को कैरेक्टर सरणी में (उल्टा)
string str = "Hello"; char[] chars = str.ToCharArray(); // ['H','e','l','l','o'] // या कॉपी के साथ char[] buffer = new char[10]; str.CopyTo(0, buffer, 0, 5); // buffer में "Hello"
मुख्य बिंदु
new string(char[])सबसे सीधा और सामान्य तरीका है।- यह सरणी की कॉपी बनाता है - मूल सरणी बदलने से स्ट्रिंग प्रभावित नहीं होती।
- Null सरणी पर
ArgumentNullExceptionफेंकता है। - प्रदर्शन के लिए
StringBuilderबेहतर है यदि लूप में बना रहे हों।