私はそのサイズが、私はchar[] buffer = new char[1000000];
を保持しているが、私は次のコードを使用していたときにchar
配列に私の文字列を変換する.ToArray()
メソッドを使用しています:てToArray()関数の制限
using (StreamReader streamReader = new StreamReader(path1))
{
buffer = streamReader.ReadToEnd().ToCharArray();
}
// buffer = result.ToArray();
threadfunc(data_path1);
は、バッファのサイズが固定取得最大8190まで、.ToCharArray()
または.ToArray()
を使用した後もファイル全体を読み取っていません。 .ToCharArray()
または.ToArray()
にサイズの制限がある理由は何ですか?この関数を使用しない場合、私は文字列形式でファイル全体を読むことができますが、この関数を使用してchar配列に変換しようとすると、サイズの制限があります。
'ReadToEnd()'と 'ToCharArray()'の呼び出しを分けてみますか? (すなわち、最初の文字列を文字列に入れて、文字列の2番目の文字列を呼び出します。) – Emad
ToCharacterArrayを使って文字を取得する方法は、サイズが指定されていない配列 'buffer'を宣言できます。読み取り時に正しいサイズにサイズが調整されます。言い換えれば、 'char [] buffer;'は動作します。 – JohnG
[ToCharArray()](https://referencesource.microsoft.com/#mscorlib/system/string.cs,81c2d980f5d0ee35,references)は、文字列全体をバイト配列に変換します。生成される配列のサイズに制限はありません。 – Serge