Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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# 我想从文本文件中删除特定行,但我的代码不';行不通_C#_.net - Fatal编程技术网

C# 我想从文本文件中删除特定行,但我的代码不';行不通

C# 我想从文本文件中删除特定行,但我的代码不';行不通,c#,.net,C#,.net,我认为这应该行得通,但我不确定。我这样做是为了学校的项目。如果您有其他建议,请将其写入。是的,您是正确的。此代码只从文件中读取,不向其中写入任何内容 将字符串文件视为strings的数组或集合非常有用。 这意味着,当读取文件时,它会将所有内容放入字符串集合/数组中,而写入操作只会将该数组写回文件。 为此,您有两种方法:File.ReadAllLines()和File.writeAllines() 您可以按照以下方式进行操作: int stv = Convert.ToInt32(Console.R

我认为这应该行得通,但我不确定。我这样做是为了学校的项目。如果您有其他建议,请将其写入。

是的,您是正确的。此代码只从文件中读取,不向其中写入任何内容

将字符串文件视为
string
s的数组或集合非常有用。 这意味着,当读取文件时,它会将所有内容放入字符串集合/数组中,而写入操作只会将该数组写回文件。 为此,您有两种方法:
File.ReadAllLines()
File.writeAllines()

您可以按照以下方式进行操作:

int stv = Convert.ToInt32(Console.ReadLine());
StreamReader read = File.OpenText("Izdelki.txt");
int st = 1;
string newtext=" ";
string line = read.ReadLine();
while (line != null)
{
    st++;
    if (st != stv) 
    {
        newtext += line;
    }

}
intstv=Convert.ToInt32(Console.ReadLine());
List file=file.ReadAllLines(“Izdelki.txt”).ToList();
//在这里找到需要更改的行的索引,并在列表中更改它,例如文件[x]=y
//现在使用File.writeAllines(“Izdelki.txt”,File)保存它;
使用林克,卢克

int stv = Convert.ToInt32(Console.ReadLine());
List<string> file = File.ReadAllLines("Izdelki.txt").ToList();

// find index of line that you need to change here and change it in your List eg file[x] = y
// now save it using File.WriteAllLines("Izdelki.txt", file);
也许你应该使用这样的条件:

int stv = ...

var lines = File.ReadAllLines("Izdelki.txt")
    .Where((s, i) => i != stv);

File.WriteAllLines("Izdelki.txt", lines);

只需编译并运行它。如果您遇到任何错误,请发布它。没有任何错误,它就是不起作用。@NihadSuljkanović是的,这是因为您从不将任何内容写入文件,您只读取它。检查
File.ReadAllLines()
File.writeAllines()
方法您永远不会得到下一行。我认为应该在循环中添加line=read.ReadLine()end@Fabjan谢谢。我不知道我怎么没看到?它不会删除任何行…:(这基本上就是OP想要的
i != (stv - 1)