.NET / C # - চরকে [] স্ট্রিংয়ে রূপান্তর করুন


406

char[]কোনও স্ট্রিংয়ে পরিণত করার সঠিক উপায় কী ?

ToString()অক্ষরের একটি অ্যারে থেকে পদ্ধতি কৌতুক করতে নেই।

উত্তর:


676
char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);

12
খেয়াল করুন যে new string(null)ফলন String.Emptyএবং না null ! আপনি যদি রাখতে চান তবে আপনি nullএকটি এক্সটেনশন পদ্ধতি তৈরি করতে পারেন static string ToStringSafe(this char[] buf) { return buf == null ? null : new string(buf); }।
— Skod

8
@ এসকড: দেখেছি যে "নতুন" অভিব্যক্তির পক্ষে অবজেক্টের উদাহরণ ব্যতীত অন্য কোনও মান ফেরানো অসম্ভব, এটি কারও কাছে অবাক হওয়ার মতো বিষয় নয়।
— মট্টি ভির্ককুনেন

@ মাট্টিভির্ককুনেন: ব্যতিক্রম ছুঁড়ে ফেলাও একটি যুক্তিসঙ্গত কাজ। স্ট্রিং কনস্ট্রাক্টরের কাছে নাল পাস করার জন্য আমি এই আচরণটি অনুমান করেছি।
— চার্লস টেলর

81

স্ট্রিংয়ের কনস্ট্রাক্টর ব্যবহার করুন যা একটি গৃহস্থালি গ্রহণ করে []

char[] c = ...;
string s = new string(c);

54
যদি আপনি তিন মিনিট দ্রুত থাকেন তবে প্রশ্নটি জিজ্ঞাসার আগে আপনি উত্তর দিয়েছিলেন!
— ডিসিস্টেনহোলজ

1
মিনিট ভুলে যাও এটি মাত্র 17 সেকেন্ড। ঠিক উপরে আমার উত্তরটি আমার সাইটে দ্বিতীয় উচ্চ-ভোট দেওয়া উত্তর। প্রকৃতপক্ষে আমি এখন এখানে আছি কারণ প্রায় 10 বছর পরে কেউ আবার এটি ভোট দিয়েছিল। এবং দুটি উত্তর আসলে কোনও আলাদা নয় ... তবে আমার
— পোস্টটি


28

অন্য একটি উপায়:

char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = string.Join("", chars);
//we get "a string"
// or for fun:
string s = string.Join("_", chars);
//we get "a_ _s_t_r_i_n_g"

string.Joinকেবল string[]পরিবর্তে গ্রহণ করেchar[]
— আকাশ

@ স্কাইটি 91৯ কেবল নয়, আপনি স্ট্রিং ব্যবহার করতে পারেন oin জয়েন <টি> পদ্ধতি এবং যে কোনও টি [] প্যারামিটার হিসাবে টি, টোস্ট্রিং () বলা হবে
— বীর্য মিরোশনিকহেঙ্কো

1
তারপরে আপনার লিখতে string.Join<char>("_", chars)হবেstring.Join("_", chars)
— sky91

2
সংকলনের সময় চরগুলি টাইপ হিসাবে পরিচিত হিসাবে এটি স্বয়ংক্রিয়ভাবে করে does
— বীর্য মিরোশনিখেনকো

এটি অদ্ভুত কারণ আমি <চাপ> টাইপ
— আকাশ 91 ই


15

স্ট্রিং কনস্ট্রাক্টর ব্যবহার করুন যা চারারিকে আর্গুমেন্ট, প্রারম্ভিক অবস্থান এবং অ্যারের দৈর্ঘ্যের হিসাবে গ্রহণ করে। সিনট্যাক্স নীচে দেওয়া হয়েছে:

string charToString = new string(CharArray, 0, CharArray.Count());

আমি মনে করি এটিই আমি খুঁজছিলাম। তবে আমি চারআরাই নামের কোনও শ্রেণীর কথা জানতাম না। আপনি কি সম্ভবত এরকম কিছু বোঝাতে চেয়েছিলেন:char[] charArray = new char[5] { 'a', 'b', 'c', '\0', '\0' }; string charsAsString = new string(charArray, 0, 3); // only want part of array.
— সানক্যাট 2000

চরআর্রে ক্লাস নয়, কেবল চরের টাইপের পরিবর্তনশীল []
— দিলীপ নান্নওয়ারে

13

আরেকটি বিকল্প

char[] c = { 'R', 'o', 'c', 'k', '-', '&', '-', 'R', 'o', 'l', 'l' };
string s = String.Concat( c );

Debug.Assert( s.Equals( "Rock-&-Roll" ) );
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.