次のようなtxtファイルを使用するプログラムを作成します。
01/11 09:56,yeo,no,110222100,no
01/11 09:55,Test,Test2,110222100,Test2
01/11 09:52,Jack,Jean,112222100,Jean
31/10 23:17,Rayane,Jean,111220000,Rayane
次に、このファイルの行で削除したいので、次のコードを使用します。
for (int i = 0; i < lignes.Count; i++)
{
string ligne = lignes[i];
List<string> element = ligne.Split(',').ToList();
if (element.Contains(selectionDate[1])) //Ici on à les éléments de la ligne séléctionner
{
string ligneAr = null;
lignes[i] = ligneAr;
File.WriteAllLines(path, lignes);
}
}
しかし、私がこのコードを使用すると、これはtxtファイルで起こることです:
01/11 09:56,yeo,no,110222100,no
01/11 09:55,Test,Test2,110222100,Test2
01/11 09:52,Jack,Jean,112222100,Jean
31/10 23:17,Rayane,Jean,111220000,Rayane
// Empty line
31/10 22:30,Rayane,André,122120101,Rayane
代わりに、テキストに穴があります。この穴を削除するにはどうすればよいですか?あなたがそれを作成することを可能にするコードはif()にあります
ありがとうございました。
質問で言及した穴はnull
、lignes[i]
ieに割り当てるために追加されますlignes[i] = ligneAr;
。File.WriteAllLines()
forループの内側は、ファイルを更新する場所としても間違っています。
文字列を分割する必要はありません。必要な条件で句をlignes[i]
使用するだけで、.Where()
フィルタリングされた結果を取得してファイルに書き込むことができます。
何かのようなもの、
var result = lignes.Where(ligne => !ligne.Contains(selectionDate[1]));
File.WriteAllLines(path, result);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加