相关疑难解决方法(0)

从同一列表中选择相似的元素

我有一个文件,其中包含从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)

c# linq list

3
推荐指数
1
解决办法
109
查看次数

如何在LINQ中分组?

我需要返回特定用户每日约会的最后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来做到这一点?获取上个月用户约会的列表并逐日验证

谢谢!

.net c# linq entity-framework linq-to-sql

2
推荐指数
1
解决办法
984
查看次数

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字符串.

c# linq

2
推荐指数
1
解决办法
8331
查看次数

LINQ GroupBy返回List作为结果

我有一个包含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)

c# linq

2
推荐指数
1
解决办法
2万
查看次数

使用 LINQ 对列表项进行 GROUPBY 和 SUM

我有一个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)

现在我想检索DateTotalCalls分组 …

c# linq group-by sum

1
推荐指数
1
解决办法
6095
查看次数

在LINQ分组,有2个属性

这是一个已经被问到的问题,但问题是仅使用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)

c# linq group-by

1
推荐指数
1
解决办法
183
查看次数

我可以使用LINQ来查明列表中的给定属性是否重复?

我有一个对象列表,上面有一个名称字段.

我想知道是否有办法判断列表中的所有名称字段是否唯一.

我可以做两个循环并迭代列表中的每个值,但我想知道是否有更简洁的方法来使用LINQ做到这一点?

我找到了一些例子,他们将列表中的每个项目与硬编码值进行比较,但在我的情况下,我想比较每个对象之间的名称字段,并获得一个布尔值.

c# linq

0
推荐指数
1
解决办法
87
查看次数

C# 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)

c# linq performance

-1
推荐指数
1
解决办法
106
查看次数

标签 统计

c# ×8

linq ×8

group-by ×2

.net ×1

entity-framework ×1

linq-to-sql ×1

list ×1

performance ×1

sum ×1