我有一個自定義對象的列表,我想用它們在自定義對象中的枚舉來分組對象。我怎麼可以通過枚舉c#列表
我如何在C#中做到這一點
我想通過自己的枚舉現有列表的新列表意味着每個列表有差異枚舉
public struct xyz
{
public int ID;
public string Name;
public ClassType Type;
}
我想打誰擁有一個新的列表一個不同的枚舉
我有一個自定義對象的列表,我想用它們在自定義對象中的枚舉來分組對象。我怎麼可以通過枚舉c#列表
我如何在C#中做到這一點
我想通過自己的枚舉現有列表的新列表意味着每個列表有差異枚舉
public struct xyz
{
public int ID;
public string Name;
public ClassType Type;
}
我想打誰擁有一個新的列表一個不同的枚舉
示例代碼在那裏在您的文章的早期版本,不知道爲什麼你拿出來,反正 - 您可以在自定義的列表中使用GroupBy()
類型:
enum CustEnum
{
A=1,
B,
C
}
class CustomType
{
public CustEnum xyz { get; set; }
}
...
List<CustomType> customTypes = ...
var groupedList = customTypes.GroupBy(x => x.xyz).Select(g => g.ToList()).ToList();
你可以嘗試使用Linq的groupBy方法。我會張貼一些代碼,以幫助您瞭解
class Program
{
static void Main(string[] args)
{
var obj1 = new MyClass(MyEnum.One);
var obj2 = new MyClass(MyEnum.Two);
var obj3 = new MyClass(MyEnum.One);
var obj4 = new MyClass(MyEnum.Two);
var lst = new List<MyClass>() {obj1,obj2,obj3,obj4};
var studentQuery2 =
from obj in lst
group obj by obj.enumr8 into g
select new { g.Key, g };
foreach (var obj in groupedLists)
{
Console.WriteLine(obj.Key);
}
Console.ReadKey();
}
}
class MyClass
{
public MyEnum enumr8;
public MyClass(MyEnum enumr8_Val)
{
this.enumr8 = enumr8_Val;
}
}
enum MyEnum
{
One=1,
Two
}
我會停止分組,而不是將它們扔到匿名對象中。你得到的分組是你需要的。 – 2011-06-11 06:38:12
呃......什麼枚舉? – 2011-06-11 05:58:19
你問一般如何組合?因爲枚舉沒有什麼特別的。 – Gabe 2011-06-11 05:58:24
新示例代碼中沒有枚舉 – BrokenGlass 2011-06-11 06:04:00