C# 如何:使用File.ReadAllLines将字符串添加到字符串数组
如何:使用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
文件.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”最终答案!完美的非常感谢你!