如何读取richtextbox行并将其放入c#中的字节数组中

时间:2012-05-07 08:45:11

标签: c# visual-studio-2010 c#-4.0

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

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

2 个答案:

答案 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);