我正在使用此代码从RichTextBox
控件读取行并输入字符串数组。但它不起作用。给我一个错误。有任何想法吗?感谢
for (int i = 0; i <= Observations.Lines.Length; i++ )
{
Variables.ObservationsArray [i] = Observations.Lines[i].ToString();
}
答案 0 :(得分:0)
您可以使用它来获取byte []
System.Text.Encoding.UTF8.GetBytes(string.Join( "", Observations.Lines ));
答案 1 :(得分: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);