-1

から検索collection<List>する必要があります。検索中に、リストに null 値が含まれている場合と含まれていない場合があります。ただし、null 値が存在する場合は、他の検索値から検索します。

私のコードは

List =
        ListAssetDetail.Where(
            e =>SelectedAsset.Equals(e.AssetName) && SlectedBroad.Equals(e.BroadcasterName) && SelectedAssetfor.Equals(e.AssetFrom) &&
           SelectedGenre.Equals(e.GenreName) && SelectedBoque.Equals(e.Subcategory) && SelectedContentType.Equals(e.AssetFor)).ToList();
4

1 に答える 1

0

フィルターにするつもりなら、おそらく次のように使用できます。

        List = ListAssetDetail.Where( e => 
            (string.IsNullOrEmpty(SelectedAsset) || SelectedAsset.Equals(e.AssetName)) &&
            (string.IsNullOrEmpty(SlectedBroad) || SlectedBroad.Equals(e.BroadcasterName)) &&
            (string.IsNullOrEmpty(SelectedAssetfor) || SelectedAssetfor.Equals(e.AssetFrom)) &&
            (string.IsNullOrEmpty(SelectedGenre) || SelectedGenre.Equals(e.GenreName)) &&
            (string.IsNullOrEmpty(SelectedBoque) || SelectedBoque.Equals(e.Subcategory)) &&
            (string.IsNullOrEmpty(SelectedContentType) || SelectedContentType.Equals(e.AssetFor)));

したがって、値が NULL の場合、Equals ではスキップされます。したがって、null または空でない限り、各フィールドは一致する必要があります。

于 2013-08-07T08:19:01.630 に答える