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

C# 如何:使用File.ReadAllLines将字符串添加到字符串数组,c#,arrays,string,file.readalllines,C#,Arrays,String,File.readalllines,如何:使用File.ReadAllLines向字符串数组添加字符串 我认为问题很清楚:我想向现有字符串数组添加一个新字符串,该数组从文件.ReadAllLines获取ist内容 public void CreateNewFolder() { string[] lines = File.ReadAllLines(stringFile, Encoding.UTF8); lines[lines.Length + 1] = "Test"; File.WriteAllLines(s

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

我认为问题很清楚:我想向现有字符串数组添加一个新字符串,该数组从
文件.ReadAllLines
获取ist内容

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

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

由于数组的长度是固定的,并且最后一个索引(您要添加新项的地方)总是在数组之外,因此会导致错误。 您可以改为使用列表:

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 
} 
public void CreateNewFolder()
{
List lines=File.ReadAllLines(stringFile,Encoding.UTF8.ToList();
行。添加(“测试”);
writeAllines(stringFile,lines.ToArray(),Encoding.UTF8);
//不需要为行调用ToArray方法
} 

由于数组的长度是固定的,并且最后一个索引(要添加新项的位置)始终在数组之外,因此会导致此错误。 您可以改为使用列表:

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 
} 
public void CreateNewFolder()
{
List lines=File.ReadAllLines(stringFile,Encoding.UTF8.ToList();
行。添加(“测试”);
writeAllines(stringFile,lines.ToArray(),Encoding.UTF8);
//不需要为行调用ToArray方法
} 

由于试图更改超出当前数组长度的项,因此出现错误。可以使用先调整数组大小,然后更改最后一项

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

由于试图更改超出当前数组长度的项,因此出现错误。可以使用先调整数组大小,然后更改最后一项

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

重复:最简单的答案:使用列表代替!重复:最简单的答案:使用列表代替!您可能希望在回答中添加一个信息,即他得到了错误,因为一旦定义了数组,它的长度是固定的。清单是一条路要走+1没有关于
ToList()
@middelpat的定义:好的建议,将添加it@Exception包括“使用System.Linq”最终答案!完美的非常感谢你!您可能希望在回答中添加一个信息,即他得到了错误,因为一旦定义了数组,它的长度是固定的。清单是一条路要走+1没有关于
ToList()
@middelpat的定义:好的建议,将添加it@Exception包括“使用System.Linq”最终答案!完美的非常感谢你!