0

このコードを使用して、RichTextBoxコントロールから行を読み取り、文字列配列に入れています。しかし、うまくいきません。エラーが発生します。何か案は?ありがとう

for (int i = 0; i <= Observations.Lines.Length; i++ )
{
    Variables.ObservationsArray [i] = Observations.Lines[i].ToString();
}
4

2 に答える 2

0

ここで 2 つの問題があります。i = Observations.Lines.Lengthまず、あなたが述べたように、範囲外のインデックスが発生しますi <= Observations.Lines.Length

for (int i = 0; i <= Observations.Lines.Length; i++ )

代わりにあなたがするべきです

for (int i = 0; i < Observations.Lines.Length; i++ )

配列のインデックスは 0 ベースです。

第 2 に、Variables.ObservationsArray [i] == nullいずれかの要素の場合、null 参照例外が発生します。だから最初に確認した方がいい

if(Observations.Lines[i] != null
    Variables.ObservationsArray [i] = Observations.Lines[i].ToString();

文字列をバイト配列に変換するには(ASCIIエンコーディングの場合)、次を使用できます

byte[] b2 = System.Text.Encoding.ASCII.GetBytes (myString);
于 2012-05-07T13:03:16.527 に答える
0

これを使用してバイト[]を取得できます

 System.Text.Encoding.UTF8.GetBytes(string.Join( "", Observations.Lines ));
于 2012-05-07T12:42:54.597 に答える