我使用.ToArray()
方法我的字符串轉換爲char
數組,其大小我使char[] buffer = new char[1000000];
但是當我使用以下代碼: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()'的調用。 (即把第一個結果放在一個字符串中,然後再調用字符串中的第二個)。 – Emad
用'ToCharacterArray'獲得字符的方式......你可以聲明沒有大小的數組'buffer'在閱讀時將被調整到正確的大小。換句話說'char [] buffer;'將起作用。 – JohnG
[ToCharArray()](https://referencesource.microsoft.com/#mscorlib/system/string.cs,81c2d980f5d0ee35,references)將整個字符串轉換爲字節數組。它對生成的數組的大小沒有限制。 – Serge