2012-05-07 6 views
0

私はこのコードを使って、RichTextBoxコントロールから行を読み込んで文字列配列に入れます。しかし、それは動作しません。私にエラーを与えます。何か案は?おかげrichtextboxの行を読み込み、それらをcでバイト配列に配置する方法

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

を使用することができます(ASCIIエンコーディングの場合)文字列をバイト配列に変換するには、それを最初

if(Observations.Lines[i] != null Variables.ObservationsArray [i] = Observations.Lines[i].ToString(); 

を確認する必要がありますか?また、あなたのループでは、実行時にインデックスから範囲外の例外を受け取らないようにするために、 '<='の代わりに '<'を使いたいと思うでしょう。 C#では配列インデックスはゼロベースです。 –

+0

"new"キーワードを使用してオブジェクトインスタンスを作成 – aroshlakshan

+0

Variables.ObservationsArray array !!を宣言したばかりだと思いますが、それぞれのインスタンスに対して新しいインスタンスを作成する必要があります。Variables.ObservationsArray [i] = new Variables.ObservationsArray );それを使用してください! –

答えて

0

2つの問題を取得するためにこれを使用することができます。最初の範囲例外のうち、インデックスがあるだろうときには、配列のインデックスは0に基づいている代わりに、あなたが

for (int i = 0; i < Observations.Lines.Length; i++) 

を行う必要がありますi <= Observations.Lines.Length

for (int i = 0; i <= Observations.Lines.Length; i++) 

をあなたとi = Observations.Lines.Lengthを述べているされています。

第2に、任意の要素に対してVariables.ObservationsArray [i] == nullの場合、null参照例外が発生します。だから、あなたはどのようなエラー

byte[] b2 = System.Text.Encoding.ASCII.GetBytes (myString); 
+0

私はこれを試しましたが、まだ人はいません。正確なエラーは、 "NullReferenceExeption未処理"、 "オブジェクト参照がオブジェクトのインスタンスに設定されていません"です。私は助けが必要です!!ありがとう! – aroshlakshan

+0

@aroshlakshanこの例外が発生している行は何ですか? – ABH

+0

Variables.ObservationsArray [i] = Observations.Lines [i] .ToString(); – aroshlakshan

0

現在地バイト[]

System.Text.Encoding.UTF8.GetBytes(string.Join("", Observations.Lines)); 
関連する問題