如何:使用File.ReadAllLines将字符串添加到字符串数组

时间:2014-05-30 09:57:55

标签: c# arrays string file.readalllines

如何:使用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);
}

数组的索引“太小”,但我不知道为什么。

2 个答案:

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