[英]LINQ Group by error: “does not contain a definition for 'GroupBy'”
我有一個列表需要分組。 在列表中,我添加此對象:
private class MyObject {
private System.Drawing.Color color;
private string title;
public MyObject(System.Drawing.Color color, string title)
{
this.color = color;
this.title = title;
}
public string Title
{
get { return title; }
set { title = value; }
}
public System.Drawing.Color Color
{
get { return color; }
set { color = value; }
}
}
我將列表創建為:
System.Collections.Generic.List<MyObject> mList = new System.Collections.Generic.List<MyObject >();
然后,我嘗試對內容進行分組:
var groupedList = mList.GroupBy(c => new {c.Title} ).ToList();
那就是我得到錯誤的時間。 有任何想法嗎? 我怎樣才能做到這一點? 謝謝!
這些類型的錯誤通常意味着您不在使用列表中包括System.Linq
。 嘗試將其扔到代碼文件的頂部:
using System.Linq;
您是否有對System.Linq命名空間的引用?
您需要using System.Linq
將文件添加到名稱空間頂部或內部。
GroupBy
實際上不是List
類的方法,它是System.Linq
定義的擴展方法。 當您將using
語句添加到該命名空間時,它允許將該命名空間中的所有擴展方法解析為它們為using
的文件擴展的任何類型。
一些不相關的注釋:
using System.Collections.Generic
以及其他幾個常見的命名空間。 輸入System.Collections.Generic.List<MyObject> mList = new System.Collections.Generic.List<MyObject >();
只是讓我畏縮。 一旦添加using
您將只需要: List<MyObject> mList = new List<MyObjecT>();
。 mList.GroupBy(c => c.Title )
如果只想對Title
進行分組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.