0

私はこのようなコードを持っています:

  var list = _appData.GetAdvanceSearchData(Convert.ToInt16(collection["Product"])).ToList();
   List<ProductMaterial> materials = list.Select(x => x.ProductMaterial).Distinct().ToList();

私が得た例外:

Cannot implicitly convert type 'System.Collections.Generic.List<string>' to 'System.Collections.Generic.List<Crescent.LinqModel.ProductMaterial>' 

何をすべきですか?

製品素材クラス :

 public class ProductMaterial
{
    public string ProductMaterials {get;set;}
}

list.Select(x => x.ProductMaterial).Distinct().ToList() は list に変換されていますが、配列文字列を返します。タイプ 'ProductMaterial' の結果が必要です。

4

3 に答える 3

0

クエリはnot をlist.Select(x => x.ProductMaterial).Distinct().ToList();返します。List<string>List<ProductMaterial>

の代わりにリストを使用できますList<ProductMaterial>。リストのデータ型が指定されていれば、もっと正確な意見を言えたのに。

于 2013-06-04T10:11:24.360 に答える
0

代わりにこれを使用してください:

var materials = list.Select(x => x.ProductMaterial).Distinct().ToList();

または:

List<string> materials = list.Select(x => x.ProductMaterial).Distinct().ToList();

違うのはmaterials変数の型だけです。

于 2013-06-04T09:57:06.073 に答える