5

2 つのリストがあります。1 つはファイル名のリスト、もう 1 つはファイル名スタブのリストです。ファイル名がファイル名スタブに似ている最初のリストからすべてを選択したいと思います。

List<string> files = new List<string>() {"a.txt", "b.txt", "c.txt"};
List<string> fileStub = new List<string>() {"a", "b", "c"};

クエリは、最初のリストからすべてのレコードを返します。

前もって感謝します。

4

4 に答える 4

4

順序が重要な場合 (もちろん、このサンプルでは、​​IndexOutOfRange 例外が必要ない場合、2 つのリストのサイズが重要です)

var res = files.Where((file, index) => file.Contains(fileStub[index]));

順序を気にしない場合(リストのサイズは重要ではありません)

var res = files.Where(file => fileStub.Any(fs => file.Contains(fs)));
于 2013-09-09T13:06:43.447 に答える
2
var result = files.Where(item => fileStub.Any(stub => item.Contains(stub))).ToList();
于 2013-09-09T13:05:48.150 に答える