0

我正在使用此代码从RichTextBox控件中读取行并将其放入字符串数组中。但它不起作用。给我一个错误。有任何想法吗?谢谢

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

2 回答 2

0

您可以使用它来获取一个字节[]

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

这里有两个问题。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 的。

其次,如果Variables.ObservationsArray [i] == 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 回答