我正在使用此代码从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();
}
您可以使用它来获取一个字节[]
System.Text.Encoding.UTF8.GetBytes(string.Join( "", Observations.Lines ));
这里有两个问题。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);