私はC#プログラミングの初心者です。 C#Consoleのデスクトップにテキストファイルを作成したかったので、作成したテキストファイルの新しい行に入力した新しい文字列値を追加します。 は、これが私の仕事です:私はコンソールを介してファイルを作成しC#のテキストファイルに重複しない文字列エントリのリストを作成する
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace noteonce
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("New Word: ");
string newWord = Console.ReadLine();
string wlist = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\list.txt";
TextWriter inject = new StreamWriter(wlist, true);
inject.WriteLine(newWord);
inject.Close();
Console.WriteLine("New word has been added! ");Console.ReadKey();
}
}
}
が、私は自分の入力した文字列のそれぞれがユニークになりたい、私はいくつかは、Googleで検索しましたが、私はとても混乱しています。コンソールに新しい入力が既に存在するかどうかを教えてもらいたいのですが、もしそうなら、「それはすでに存在します!別の単語を入力してください」と警告するために、存在しなければリストに追加してください。私はあなたの助けが必要です。
ありがとうございます。 Mr.Ankitkumar Bhattさんの助けによって、これは私の最近の作品である:
static void Main(string[] args)
{
string wlist = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)[email protected]"\list.txt";
FileStream create = File.Open(wlist, FileMode.Create);
create.Close();
for (int i = 0; i < 100; i++)
{
Console.WriteLine("New Word"[email protected]" ("+(100-i)+") :");
string newWord = Console.ReadLine();
string FileContents = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\list.txt");
TextWriter inject = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\list.txt", true);
if (!FileContents.Contains(newWord))
{
inject.WriteLine(newWord);
inject.Close();
}
else
{
Console.WriteLine("It already exists!");
Console.ReadKey();
inject.Close();
}
}
}
しかし、私はそれを指すようにしたい、私はプログラムが私の最後の方法により、リスト内の項目のすべてを認識したい、それは非常に動作しますしかし、私がプログラムを閉じてもう一度開くと、新しい単語がすでに存在しているという警告は表示されず、ファイルには追加されません。どうすれば残りのことができますか?
var lines = File.ReadAllLines(wlist , Encoding.UTF8);
2)読む:
string FileContents = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\list.txt");
if (!FileContents.Contains(newWord))
{
// Add to file //
}
最初に単語をリストに追加します。その単語のリストを確認してください。リストに存在しない場合はファイルに書き込み、それ以外の場合はユーザに通知してください – bixarrio
読み取りと書き込みの2つのIO操作を同時に行う必要があります。したがって、 'TextReader' **と** TextWriterを使用してください。 – HimBromBeere
[HashSet](https://msdn.microsoft.com/en-us/library/bb359438(v=vs.110).aspx)を参照してください。 'Add'メソッドは、重複しているかどうかにかかわらずtrueまたはfalseを返します。 @ bixarrio。 –