c# - IndexOf 无法正确识别一行是否以值开头

标签 c#

如果第一个单词与我拥有的变量匹配,我如何从文本文件中删除整行?

我目前正在尝试的是:

List<string> lineList = File.ReadAllLines(dir + "textFile.txt").ToList();
lineList = lineList.Where(x => x.IndexOf(user) <= 0).ToList();
File.WriteAllLines(dir + "textFile.txt", lineList.ToArray());

但我无法删除它。

最佳答案

您唯一的错误是您使用 indexOf 检查 <= 0,而不是 = 0。

当字符串中不包含要查找的字符串时返回-1。

<= 0 表示开始于或不包含

=0 表示以 <- This is you want

开头

关于c# - IndexOf 无法正确识别一行是否以值开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657343/

相关文章:

c# - 依赖注入(inject)与服务位置

c# - 是什么导致 Mono 下的 SerialPort.Write 出现偶发错误?

c# - 如何为我的 React/.NET Core 3.0 SPA Web 应用程序添加 Microsoft Identity/Azure AD 登录功能

c# - 如何将 SqlException 消息操作为用户友好的消息

C# 在不知道文件格式的情况下读取二进制文本文件

c# - 在不删除的情况下读取 ActiveMQ 消息

c# - 在 C# 中使用 if (!bool) 与 if (bool == false)

c# - (OAuthException - #200)(#200)未发布的帖子必须作为页面本身发布到页面

c# - 我可以通过将 SQL 命令重构为 C# 类来提高性能吗?

c# - 如何在 clickOnce 部署的开始菜单中对我的应用程序进行分组?