Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何按行号从文本文件中删除一行?是否按索引号从ListView中删除项目?_C#_.net_Winforms - Fatal编程技术网

C# 如何按行号从文本文件中删除一行?是否按索引号从ListView中删除项目?

C# 如何按行号从文本文件中删除一行?是否按索引号从ListView中删除项目?,c#,.net,winforms,C#,.net,Winforms,ListView控制变量是lvnf。 文本文件存储在变量emailsIDSFile中。 用于删除文本文件中的行号并通过索引删除列表视图中的行的索引号存储在selectedemailindex中。List lines=file.ReadAllLines(“c:\\a.txt”).ToList()中; private void btnDel_Click(object sender, EventArgs e) { OpenPop.Pop3.Pop3Client

ListView控制变量是lvnf。 文本文件存储在变量emailsIDSFile中。 用于删除文本文件中的行号并通过索引删除列表视图中的行的索引号存储在selectedemailindex中。

List lines=file.ReadAllLines(“c:\\a.txt”).ToList()中;
private void btnDel_Click(object sender, EventArgs e)
        {
            OpenPop.Pop3.Pop3Client PopClient = new OpenPop.Pop3.Pop3Client();
                PopClient.Connect("mail", 110, false);
                PopClient.Authenticate("me", "me",
                    OpenPop.Pop3.AuthenticationMethod.UsernameAndPassword);
                DeleteMessageByMessageId(PopClient, selectedemailindex.ToString());
            // Here i want to update the text file and the listview by deleting the line using the index number(selectedemailindex).
        }
行。删除(行号); Listview1.Items.RemoveAt(行号);
List line=File.ReadAllLines(“c:\\a.txt”).ToList();
行。删除(行号);
Listview1.Items.RemoveAt(行号);
我建议使用简单的Linq:

然后,您可能需要阅读以下几行:

  var lines = File
    .ReadLines("@c:\MyText.txt")
    .Where((line, index) => index != lineNumber);
将它们写回一个文件

  foreach (var line in lines) {
    ...
  }
至于
ListView
RemoveAt
似乎是您正在寻找的:

  File.WriteAllLines(@"C:\MyOther.txt", lines);
另外,问题中的代码似乎与问题完全无关。

我建议使用一个简单的Linq:

然后,您可能需要阅读以下几行:

  var lines = File
    .ReadLines("@c:\MyText.txt")
    .Where((line, index) => index != lineNumber);
将它们写回一个文件

  foreach (var line in lines) {
    ...
  }
至于
ListView
RemoveAt
似乎是您正在寻找的:

  File.WriteAllLines(@"C:\MyOther.txt", lines);

另外,问题中的代码似乎与问题完全无关。

什么文本文件?什么是列表视图?你试过什么,有什么问题?什么文本文件?什么是列表视图?你试过什么,你有什么问题?