このコードを使用して、RichTextBox
コントロールから行を読み取り、文字列配列に入れています。しかし、うまくいきません。エラーが発生します。何か案は?ありがとう
for (int i = 0; i <= Observations.Lines.Length; i++ )
{
Variables.ObservationsArray [i] = Observations.Lines[i].ToString();
}
このコードを使用して、RichTextBox
コントロールから行を読み取り、文字列配列に入れています。しかし、うまくいきません。エラーが発生します。何か案は?ありがとう
for (int i = 0; i <= Observations.Lines.Length; i++ )
{
Variables.ObservationsArray [i] = Observations.Lines[i].ToString();
}
ここで 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);
これを使用してバイト[]を取得できます
System.Text.Encoding.UTF8.GetBytes(string.Join( "", Observations.Lines ));