私はいくつかの行を含むテキストファイルを持っていますが、その多くは重複しています。テキストファイルの行をランク順に表示
一番上に表示されるものが一番上に表示され、一番小さいものが一番下に表示されるリストを描きたいと思います。
ただし、リスト内に文字列が何回表示されるかを表示したいとします。
どうすればいいですか?ファイルが大きすぎない場合には、それがメモリに収まることができれば、あなたがそれを保存することができ、すなわち、
using(StreamReader sr = new StreamReader("my file")) {
Dictionary<string, int> items = new Dictionary<string, int>();
while(sr.BaseStream.Position < sr.BaseStream.Length) {
string s = sr.ReadLine();
if(items.ContainsKey(s)) {
items[s]++;
} else {
items.Add(s, 1);
}
}
// You now have a dictionary of unique strings and their counts - you can sort it however you need.
}
- フレームワーク4.0を? – qwertyuywertwer
はい - 申し訳ありませんが、私はこれを修正します:) pls今すぐテストします – kol
LINQの部分も削除しなければならなかったので、.NET 3.5で表示されました。 – kol