C# 在添加新行之前,检查文件是否包含密钥的最佳方法是什么?
我有一个包含以下列的CSV文件- 键、值 首先,线路 第二,线路 第三,线路C# 在添加新行之前,检查文件是否包含密钥的最佳方法是什么?,c#,csv,streamreader,streamwriter,C#,Csv,Streamreader,Streamwriter,我有一个包含以下列的CSV文件- 键、值 首先,线路 第二,线路 第三,线路 我想向该文件添加一个新的键值,因为使用C#的文件中尚未存在该键值?最好的方法是什么?我需要一行一行地遍历并检查钥匙,还是有其他更好的方法 我没有使用CSVHelper软件包或任何其他CSV编写器。您可以这样做: string path = @"PathToFile.csv"; string Content = string.Empty; using (StreamReader reader = new StreamR
我想向该文件添加一个新的键值,因为使用C#的文件中尚未存在该键值?最好的方法是什么?我需要一行一行地遍历并检查钥匙,还是有其他更好的方法 我没有使用CSVHelper软件包或任何其他CSV编写器。您可以这样做:
string path = @"PathToFile.csv";
string Content = string.Empty;
using (StreamReader reader = new StreamReader(path))
{
Content = reader.ReadToEnd();
reader.Close();
}
if (!Content.Contains("YourKey"))
{
using (StreamWriter sw = new StreamWriter(path))
{
sw.WriteLine(Content + "\nYourkey,YourValue");
sw.Close();
}
}
读取文件并将所有文本写入字符串变量,如果键存在,则检查变量,如果键不存在,则将内容连同新键一起写回文件。随着文件的增长,搜索整个文件所需的时间将越来越长,但它可以很好地工作几千行。“我需要逐行遍历并检查密钥吗?”是的。我的文件最终会变大。这不是一个昂贵的过程吗?这个文件有多大?@Steve,现在只有几行。而且它可能不会超过几百行。@这是不可避免的,但只是一次,不是每次查找都要感谢您的解决方案。我认为这是行不通的,因为键present的返回值将为true,即使它在其他列值中以字符串形式存在。我只需要验证键列。