-1

次のような文字列があります。

0122031203

それを解析して、以下をリストに追加できるようにしたいと思います。

01
22
03
12
03

したがって、2文字ずつ取得して抽出する必要があります。

私はこれを試しました:

 List<string> mList = new List<string>();
 for (int i = 0; i < _CAUSE.Length; i=i+2) {
     mList.Add(_CAUSE.Substring(i, _CAUSE.Length));
 }
 return mList;

しかし、ここに何かが正しくないので、私は次のようになり続けます:

インデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名:長さ

私はこれを間違えましたか?

4

4 に答える 4

2

Linqを使用してみませんか?

string s = "0122031203";
int i = 0;
var mList = s.GroupBy(_ => i++ / 2).Select(g => String.Join("", g)).ToList();
于 2013-03-18T18:11:29.180 に答える
1

Substring 関数で長さを間違って指定した可能性があります。

次のことを試してください。

List<string> mList = new List<string>();

for (int i = 0; i < _CAUSE.Length; i = i + 2)
{
    mList.Add(_CAUSE.Substring(i, 2));
}

return mList;

これをそれぞれ 2 文字のチャンクに分割する場合、長さは 2 にする必要があります。

于 2013-03-18T18:07:40.663 に答える
0

部分文字列を実行するときは、_CAUSE.SubString(i, 2) を試してください。

于 2013-03-18T18:08:04.020 に答える
0

2 ポイント: 1) 前述のように、substring(i,2) にする必要があります。2) 文字列の長さが奇数の場合を考慮する必要があります。たとえば、01234: 01 23 を使用して 4 を破棄しますか?それとも 01 23 4 を使用しますか??

于 2013-03-18T18:24:13.353 に答える