我们假设我们有一个类似的课程
class Person {
internal int PersonID;
internal string car ;
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个这个类的列表: List<Person> persons;
现在,此列表可以具有多个具有相同PersonID的实例,例如:
persons[0] = new Person { PersonID = 1, car = "Ferrari" };
persons[1] = new Person { PersonID = 1, car = "BMW" };
persons[2] = new Person { PersonID = 2, car = "Audi" };
Run Code Online (Sandbox Code Playgroud)
有没有办法可以分组personID并获得他拥有的所有汽车的清单?
例如,预期结果将是
class Result {
int PersonID;
List<string> cars;
}
Run Code Online (Sandbox Code Playgroud)
分组后,我会得到:
results[0].PersonID = 1;
List<string> cars = results[0].cars;
result[1].PersonID = 2;
List<string> cars = result[1].cars;
Run Code Online (Sandbox Code Playgroud)
从我到目前为止所做的: …
如何在LINQ中执行GroupBy多列
SQL中与此类似的东西:
SELECT * FROM <TableName> GROUP BY <Column1>,<Column2>
Run Code Online (Sandbox Code Playgroud)
如何将其转换为LINQ:
QuantityBreakdown
(
MaterialID int,
ProductID int,
Quantity float
)
INSERT INTO @QuantityBreakdown (MaterialID, ProductID, Quantity)
SELECT MaterialID, ProductID, SUM(Quantity)
FROM @Transactions
GROUP BY MaterialID, ProductID
Run Code Online (Sandbox Code Playgroud) 我是LINQ的新手,但我想知道是否可以使用LINQ从以下布局转移数据:
CustID | OrderDate | Qty
1 | 1/1/2008 | 100
2 | 1/2/2008 | 200
1 | 2/2/2008 | 350
2 | 2/28/2008 | 221
1 | 3/12/2008 | 250
2 | 3/15/2008 | 2150
Run Code Online (Sandbox Code Playgroud)
进入这样的事情:
CustID | Jan- 2008 | Feb- 2008 | Mar - 2008 |
1 | 100 | 350 | 250
2 | 200 | 221 | 2150
Run Code Online (Sandbox Code Playgroud) 我试图看看我是否可以使用LINQ来解决我遇到的问题.我有一个包含Enum(TypeCode)和User对象的项目集合,我需要将其展平以显示在网格中.这很难解释,所以让我举一个简单的例子.
集合有这样的项目:
TypeCode | User
---------------
1 | Don Smith
1 | Mike Jones
1 | James Ray
2 | Tom Rizzo
2 | Alex Homes
3 | Andy Bates
Run Code Online (Sandbox Code Playgroud)
我需要输出为:
1 | 2 | 3
Don Smith | Tom Rizzo | Andy Bates
Mike Jones | Alex Homes |
James Ray | |
Run Code Online (Sandbox Code Playgroud)
感谢任何可以帮助我的人!我尝试使用foreach这样做,但是我不能这样做,因为我要在foreach中将新项目插入到集合中,从而导致错误.