【发布时间】:2010-11-22 09:07:34
【问题描述】:
将char[] 转换为字符串的正确方法是什么?
字符数组中的ToString() 方法不起作用。
【问题讨论】:
标签: c# .net arrays string char
将char[] 转换为字符串的正确方法是什么?
字符数组中的ToString() 方法不起作用。
【问题讨论】:
标签: c# .net arrays string char
这里有a constructor:
char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);
【讨论】:
new string(null) 产生String.Empty 而不是 null!如果你想保留null,你可以做一个扩展方法static string ToStringSafe(this char[] buf) { return buf == null ? null : new string(buf); }。
使用接受char[]的字符串构造函数
char[] c = ...;
string s = new string(c);
【讨论】:
char[] characters;
...
string s = new string(characters);
【讨论】:
另一种方式:
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[]
string.Join<char>("_", chars)而不是string.Join("_", chars)
String mystring = new String(mychararray);
【讨论】:
使用接受 chararray 作为参数的字符串构造函数,数组的起始位置和长度。语法如下:
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.
另一种选择
char[] c = { 'R', 'o', 'c', 'k', '-', '&', '-', 'R', 'o', 'l', 'l' };
string s = String.Concat( c );
Debug.Assert( s.Equals( "Rock-&-Roll" ) );
【讨论】: