0

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

我认为问题很明确:我想向现有字符串数组添加一个新字符串,该数组从File.ReadAllLines.

public void CreateNewFolder()
{
    string[] lines = File.ReadAllLines(stringFile, Encoding.UTF8);
    lines[lines.Length + 1] = "Test";
    File.WriteAllLines(stringFile, lines, Encoding.UTF8);
}

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

4

2 回答 2

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 
} 
于 2014-05-30T10:01:19.037 回答
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);
}
于 2014-05-30T10:04:13.363 回答