如何:使用File.ReadAllLines将字符串添加到字符串数组
我认为问题很清楚:我想在现有的字符串数组中添加一个新字符串,该数组从File.ReadAllLines
获取ist内容。
public void CreateNewFolder()
{
string[] lines = File.ReadAllLines(stringFile, Encoding.UTF8);
lines[lines.Length + 1] = "Test";
File.WriteAllLines(stringFile, lines, Encoding.UTF8);
}
数组的索引“太小”,但我不知道为什么。
答案 0 :(得分:3)
由于数组的长度是固定的,并且最后一个索引(您要添加新项目的位置)始终位于数组之外,因此导致错误。 您可以改为使用列表:
public void CreateNewFolder()
{
List<String> lines = File.ReadAllLines(stringFile, Encoding.UTF8).ToList();
lines.Add("Test");
File.WriteAllLines(stringFile, lines.ToArray(), Encoding.UTF8);
//Calling the ToArray method for lines is not necessary
}
答案 1 :(得分:0)
您收到错误是因为您尝试更改项目超出当前数组长度。您可以先使用Array.Resize<T>
调整数组大小,然后再更改最后一项
public void CreateNewFolder()
{
string[] lines = File.ReadAllLines(stringFile, Encoding.UTF8);
Array.Resize(ref lines, lines.Length + 1);
lines[lines.Length - 1] = "Test";
File.WriteAllLines(stringFile, lines, Encoding.UTF8);
}