我想將字符數組的一部分轉換爲字符串。什麼是最好的方式來做到這一點。如何將字符數組的一部分轉換爲字符串
我知道我能做到對整個陣列
char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);
但對於剛剛元件2〜4例如下面的?
我也知道我可以遍歷數組並提取它們,但我想知道是否有更簡潔的方法來完成它。
我想將字符數組的一部分轉換爲字符串。什麼是最好的方式來做到這一點。如何將字符數組的一部分轉換爲字符串
我知道我能做到對整個陣列
char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);
但對於剛剛元件2〜4例如下面的?
我也知道我可以遍歷數組並提取它們,但我想知道是否有更簡潔的方法來完成它。
使用String
constructor overload這需要一個字符數組,索引和長度:
String text = new String(chars, 2, 3); // Index 2-4 inclusive
更新
你也可以使用LINQ做到這一點。
char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
char[] selected = chars.Where((c, index) => index >= 2 && index <= 3).ToArray();
string s = new String(selected);
這不會編譯因爲選擇不返回串。我也會用skip和take來代替這個呼叫。 –
@JonSkeet剛剛更新... –
現在,它會工作,但效率低下,過於複雜。 –
您可以使用LINQ
char[] chars = { 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' };
string str = new string(chars.Skip(2).Take(2).ToArray());
不過關,當然string overloaded constructor是要走的路
string a = "Hello";
char []b = a.ToCharArray();
string as=null;
//note this line is important
as = new string(b);
-1:這根本不回答問題 –
優秀 - 謝謝你 – Graham