複数行のテキストがあり、その中の重複行を削除したいと考えています。次のコードを使用して、配列内の行を区切ります。
string[] lines = txtPathological.Text.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
ただし、コマンド ラインはありません。Distinct()。それを行う方法はありますか?
あなたが試すことができます:
string[] lines = txtPathological.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
List<string> templines = new List<string>(lines);
List<string> tempList = new List<string>();
for (int i = 0; i < templines.Count; i++)
{
if (!tempList.Contains(lines[i])) tempList.Add(lines[i]);
}
TempList はソートされたリストです。それが役立つことを願っています。
これは私のために働く...
String[] lines = { "my line 1", "my line 2", "mhyline3", "lslfkdfkjdf", "my line 2", "my line 1", "my line 1", "LKDJF" };
List<String> list = new List<String>();
foreach (String s in lines)
{
if (!list.Contains(s))
list.Add(s);
}
「リスト」には、次を使用して配列に戻すことができる個別の行が含まれます。
String[] distinctLines = list.ToArray();
これが機能しない場合は、Contains() メソッドをだましている行に何かがあるのではないかと思います。その場合、行の検査を処理する、ローカルまたは拡張の Contains() を置き換えるメソッドを作成する必要があります。