-1

私は次の文字列を持っています=

"00101010"

そして私は次の配列/リストが必要です:

var.ElementAt(0) = "0"
var.ElementAt(1) = "0"
var.ElementAt(2) = "1"
var.ElementAt(3) = "0"
var.ElementAt(4) = "1"
var.ElementAt(5) = "0"
var.ElementAt(6) = "1"
var.ElementAt(7) = "0"

string.split('')を試してみると、コンパイラは空の文字リテラルについて文句を言います。

助けてくれてありがとう。

4

5 に答える 5

6

これはそれを行う必要があります:

string mys = "hello";
char[] thechars = mys.ToCharArray();
于 2012-10-31T16:50:20.580 に答える
6

Linqを使用できます:

var chars = "00101010".Select(c => c.ToString()).ToArray();
于 2012-10-31T16:49:39.903 に答える
4

ToCharArrayを使用します。しかし、より適切な質問は、文字列がすでに実装されているため、結果をどのように処理する必要があるかということです。これにより、文字列IEnumerable<char>内の文字を繰り返して必要な処理を実行できます。

于 2012-10-31T16:50:51.597 に答える
2

文字列内の特定の文字を取得する場合は、文字列にインデックスを付けるだけです。それを何かの配列に変換する必要はありません:

var s = "0123";
var c = s[0]; // -> '0'

文字ではなく文字列が本当に必要な場合は、Timの答えが機能します。

于 2012-10-31T16:50:22.060 に答える
0

char[] の代わりに string[] を返す 1 行の正規表現ソリューションがあります。

    var arr = Regex.Split(s, "(?<=.)(?=.)");

1行の非Linqソリューションまたはより短い正しい正規表現があれば興味深いでしょう。

注:他の正規表現の回答の下に投稿したはずですが、@文字列プレフィックスがないために削除されたようで、数字の分割のみに制限されています。

于 2012-10-31T17:33:29.960 に答える