1

プロパティと値を持つマッピングのリストがあります

そして私は添付ファイルの典型的なファイル情報のリストを持っています。

私がしたいのは、添付ファイルを検索し、ファイル名にtxtまたはxls形式が含まれていることを確認することです。

public class Mapping
{
public int Id { get; set; }
public string Property { get; set; }
public string Value { get; set; }
}

public class file
{
public byte[] data {get;set;}
public string filename{get;set;}
}

と私はリストに結果があります

var mappings = new List<Mapping>(){
new Mapping{Property="Filter", Value="txt"},
new Mapping{Property="Filter", Value="xls"}

};

   var files = new List<file>();




var filterdFiles = files.Where(x=> mappings.All(m=>x.filename.contains(m.Value)))

しかし、私は結果が得られないので、Linqは間違っていると思います、マスターの経験を持つ人はいますか?

4

2 に答える 2

2

これを試して:

var filterdFiles = files
                   .Where(x=> 
                          mappings.Any(m=>x.filename.contains(m.Value)))
于 2012-05-10T09:49:56.687 に答える
1

私はこれがあなたが望むものだと思います:

var filterdFiles = files.Where(x => mappings.Where(m => m.Property == "Filter")
                                            .Any(m => x.filename.Contains(m.Value)));
于 2012-05-10T09:51:23.807 に答える