我有一个文件,其中包含从Excel工作表中解析的信息:
class ProfileRecord
{
public string ProfileCode { get; set; }
public string DID { get; set; }
public string AppName { get; set; }
public string lvl1 { get; set; }
public string lvl2 { get; set; }
public string lvl3 { get; set; }
public string lvl4 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在另一个班级中,我发送这些记录的列表进行分析.我想做的一件事是创建一个var,找到所有匹配的ProfileCodes.所以,excel表的一部分是:
Name Profile Code
Billy 134
Sally 156
Mary 134
Jimmy 134
Tom 189
Run Code Online (Sandbox Code Playgroud)
然后我会有一些东西(我真的不知道):
var sameProfile = from a in profileList
where ( //some code …Run Code Online (Sandbox Code Playgroud) 我需要返回特定用户每日约会的最后30天,并检查用户是否每天至少预约8小时.
在SQL中,我可以使用此命令执行此操作:
select IDAppointment,IDUser, SUM(DurationInHours) from Note where AppointmentDate > *lastmonth and IDUser = @userID group by IDUser,IDAppointment,AppointmentDate
Run Code Online (Sandbox Code Playgroud)
然后我得到结果并验证DurationInHours(双重类型).
是否可以使用LINQ来做到这一点?获取上个月用户约会的列表并逐日验证
谢谢!
我正在尝试使用不同的groupby,然后构建一个csv字符串:

[FROM]是一对多联接:
var allCustomerRoles = (from cr in Customers
join r in CustomerRoles
on cr.Role_ID equals r.Role_ID
select new { cr.Customer_No_, r.Role_ID });
Run Code Online (Sandbox Code Playgroud)
所以问题是,您能否告诉我如何编写LINQ查询以达到[TO]结构,其中Customer_No_是不同的,并且它的Role_ID值被连接成CSV字符串.
我有一个包含Transaction对象的List.我想要做的是找到具有相同transaction.Buyer.UserID的所述List中的事务,并将它们组合成列表列表.
每个Sub-List项将包含多个事务对象,其中transaction.Buyer.UserID是相同的.
到目前为止我所拥有的是:
var _ordersToCombine =
_transactions.GroupBy(transaction => transaction.Buyer.UserID).Select(transaction => transaction);
Run Code Online (Sandbox Code Playgroud)
我进来的是:
List<Transaction>:
Transaction { Buyer.UserID = "User1" ...}
Transaction { Buyer.UserID = "User2" ...}
Transaction { Buyer.UserID = "User1" ...}
Transaction { Buyer.UserID = "User3" ...}
Transaction { Buyer.UserID = "User4" ...}
Transaction { Buyer.UserID = "User3" ...}
Run Code Online (Sandbox Code Playgroud)
我期望它返回的是:
List<List<Transaction>>:
List<Transaction>:
Transaction { Buyer.UserID = "User1" ...}
Transaction { Buyer.UserID = "User1" ...}
List<Transaction>:
Transaction { Buyer.UserID = "User3" ...}
Transaction { Buyer.UserID = "User3" ...}
Run Code Online (Sandbox Code Playgroud)
...并且还从主列表中删除这些事务,因此在此示例中,主列表将如下所示:
List<Transaction>:
Transaction …Run Code Online (Sandbox Code Playgroud) 我有一个List类型DailySummary
public class DailySummary
{
public string AffiliateID { get; set; }
public string TotalCalls { get; set; }
public string Date{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
具有以下示例数据:
List<DailySummary> DealerTFNDatesTable = new List<DailySummary>();
DealerTFNDatesTable.Add(new DailySummary() { AffiliateID="0", Date = "12/12/2016", TotalCalls = "10"});
DealerTFNDatesTable.Add(new DailySummary() { AffiliateID="0", Date = "12/13/2016", TotalCalls = "74"});
DealerTFNDatesTable.Add(new DailySummary() { AffiliateID="1", Date = "12/22/2016", TotalCalls = "63"});
DealerTFNDatesTable.Add(new DailySummary() { AffiliateID="0", Date = "12/12/2016", TotalCalls = "58"});
Run Code Online (Sandbox Code Playgroud)
现在我想检索Date并TotalCalls分组 …
这是一个已经被问到的问题,但问题是仅使用2个属性,我需要使用3个属性,所以我复制粘贴大部分文本.
我们假设我们有一个类似的课程
class Person {
internal int PersonID;
internal string car ;
internal string friend ;
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个这个类的列表:列出人员;
现在,此列表可以具有多个相同PersonID的实例,例如.
persons[0] = new Person { PersonID = 1, car = "Ferrari" , friend = "Josh" };
persons[1] = new Person { PersonID = 1, car = "BMW" , friend = "Olof" };
persons[2] = new Person { PersonID = 2, car = "Audi" , friend = "Gustaf" };
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以按人员ID分组并获得他拥有的所有汽车和朋友的列表?对于前者 预期的结果将是
class Result {
int PersonID;
List<string> cars;
List<string> friends; …Run Code Online (Sandbox Code Playgroud) 我有一个对象列表,上面有一个名称字段.
我想知道是否有办法判断列表中的所有名称字段是否唯一.
我可以做两个循环并迭代列表中的每个值,但我想知道是否有更简洁的方法来使用LINQ做到这一点?
我找到了一些例子,他们将列表中的每个项目与硬编码值进行比较,但在我的情况下,我想比较每个对象之间的名称字段,并获得一个布尔值.
我想对分组的项目求和。我想保持简单的 LINQ 语法。
我需要在代码中修复什么才能获取关键项。我正在尝试“g[g.Key].Count()”,这不起作用。
public class Order
{
public string Id { get; set; }
public string Name { get; set; }
public string Group { get; set; }
}
public class Group
{
public string GroupId { get; set; }
public string Count { get; set; }
}
**var groupedOrd = orders.GroupBy(f => f.Group);**
List<Group> groups = new List<Group>();
foreach(var g in groupedOrd)
{
groups.Add(new Group() { GroupId = g.Key, Count = g[g.Key].Count() });
}
Run Code Online (Sandbox Code Playgroud)