18

char 配列の一部を文字列に変換したい。それを行う最善の方法は何ですか。

配列全体に対して次のことができることを知っています

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

しかし、例えば要素 2 から 4 だけはどうでしょうか?

また、配列をループして抽出できることも知っていますが、もっと簡潔な方法があるかどうか疑問に思いました。

4

2 に答える 2

41

char配列、インデックス、および長さを受け取るStringコンストラクターオーバーロードを使用します。

String text = new String(chars, 2, 3); // Index 2-4 inclusive
于 2012-11-02T07:18:38.967 に答える
1

LINQを使用できます

char[] chars = { 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' };
string str = new string(chars.Skip(2).Take(2).ToArray());

しかし、もちろん、文字列のオーバーロードされたコンストラクターが道です

于 2012-11-02T07:38:52.693 に答える