1

複数行のテキストがあり、その中の重複行を削除したいと考えています。次のコードを使用して、配列内の行を区切ります。

string[] lines = txtPathological.Text.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

ただし、コマンド ラインはありません。Distinct()。それを行う方法はありますか?

4

3 に答える 3

1

あなたが試すことができます:

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 はソートされたリストです。それが役立つことを願っています。

于 2013-05-30T08:21:28.330 に答える
1

これは私のために働く...

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() を置き換えるメソッドを作成する必要があります。

于 2013-05-30T11:06:41.510 に答える