/ / Como excluir a linha atual em um arquivo de texto em C # .net? - c #, string, linha

Como excluir a linha atual em um arquivo de texto em c # .net? - c #, string, linha

Em c #.net, o botão que eu implementei lê o conteúdo de três caixas de texto (nome, código e senha) e as conecta de uma maneira que se torne uma única string. Em seguida, ele lê linha por linha em um arquivo de texto para verificar se a string existe nele. Nesse caso, exclui toda a linha em que está presente. Consegui encontrar a string no arquivo de texto, mas não sei como excluir a linha inteira, pois ela também contém outros caracteres e números.

Este é o código até agora dentro do botão:

string alldata = txtnomedous.Text + txtcpfdous.Text + txtsenhadous.Text;
String fileContent = System.IO.File.ReadAllText(@"rato.txt");
// compare TextBox content with file content
if (fileContent.Contains(alldata))
{

using (var file = new System.IO.StreamReader(@"rato.txt"))
{
string line = null;
while ((line = file.ReadLine()) != null)
{
if (line.Contains(alldata))
{
//Delete current line
MessageBox.Show("User " + txtnomedous.Text + " was successfuly deleted.");
}
}
}

E este é o arquivo de texto:

2Rambo425.433-628-43ererssd3
1a111.111.111-11a
1Paulo111.111.111-11password2
1Momba111.111.111-11asdsad4432
2Mauricio111.111.111-22wwcssfd2
3Saulo111.111.111-11qwe1231231

Então, por exemplo, se "Paulo" estiver escrito noname textbox, 111.111.111-11 no código textbox e "password" na senha textbox, a string alldata seria "Paulo111.111.111-11password". Como a string existe no arquivo de texto (terceira linha), ela excluiria a linha inteira. Como eu faço isso?

Respostas:

0 para resposta № 1

Você pode fazer isso da seguinte maneira:

string alldata = ...

// Read from file
var lines = File.ReadAllLines("rato.txt");

// Write to file
File.WriteAllLines("rato.txt", lines.Where(line => !line.Contains(alldata)));

o Where O método filtrará as strings que não contêm as informações necessárias.