区块链技术博客
www.b2bchain.cn

Linq查询包含的Group By – c#程序员分享

本文介绍了Linq查询包含的Group By – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我有一个Currency Code字符串列表的列表。

var currencyCode = new List<string>() { "USD", "SGD", "KWD", "BHD", "LYD" }; 

我还有另一个复杂的对象。

 var rate = new List<Rate>()  {         new Rate() { CurrencyName = "USD (SMALL)",CurrencyCode = "USD SMALL",BranchName="Branch1"},         new Rate() { CurrencyName = "SGD BIG",CurrencyCode = "SGD BIG",BranchName="Branch1"},         new Rate() { CurrencyName = "KUWAIT DINAR",CurrencyCode = "KWD",BranchName="Branch1"},         new Rate() { CurrencyName = "USD BIG (100,50)",CurrencyCode = "USD BIG",BranchName="Branch1"},         new Rate() { CurrencyName = "USD MEDIUM (10,20)",CurrencyCode = "USD MEDIUM",BranchName="Branch1"},   }; 

我将在下面的列表中具有匹配的货币:

var matchedCurrency = from c in rate                       where currency.Any(w => c.CurrencyCode.Contains(w))                       select c; 

我想要的是匹配的货币列表应按货币代码分组。

我按以下方式尝试过,但没有成功。

 var Grp = rate.GroupBy(item => currency.Any(w => item.CurrencyCode.Contains(w)))           .Select(group => new           {               group.Key,               DataList = group.ToList()            }); 

我不明白我实际上是想念的。我已经尝试了各种方法。

我知道我可以遍历rate并推入另一个对象。但这看起来不太好,我想使用Linq做到这一点。但是我无法达到目的。

输出将与此对象一起显示:

public class CurrencyMap {     public string Code { get; set; }      public List<Currency> currency { get; set; } } public class Currency {     public string CurrencyName { get; set; }     public string CurrencyCode { get; set; }     public string BranchName { get; set; } } enter code here 

编辑:

我一开始错过了事情,但是如果在费率中找不到匹配的代码,我还需要有一个空列表。

在“比率”中,没有“ BHD”,“ LYD”的匹配列表。但我还需要输入代码为“ BHD”,“ LYD”的空列表

参考方案

首先选择匹配的货币代码,然后按选定的代码分组。

var groupedRates = rate     .Select(r => new     {         rate = r,         code = currencyCode.FirstOrDefault(c => r.CurrencyCode.Contains(c))     })     .GroupBy(x => x.code, x => x.rate); //maybe you don't want to throw away the resolved code like I do in the element selector... 

编辑:我想我有点专注于分组方面。由于要包含所有货币代码并提到了特定的输出结构,因此无需分组,只需选择结果即可:

var groupedRatesList = currencyCode     .Select(c => new CurrencyMap     {          Code = c,          currency = rate             .Where(x => x.CurrencyCode.Contains(c))             .Select(x => new Currency             {                 BranchName = x.BranchName,                 CurrencyCode = x.CurrencyCode, // or maybe you want to insert c here?                 CurrencyName = x.CurrencyName             })             .ToList()      })      .ToList(); 

我正在使用Retrofit来获取JSON答复。这是我实施的一部分("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

我有一个带有搜索功能的主页。从主页搜索可以正常工作,但是当我尝试使用ajax表单(在url.com/search?id=biology上)再次搜索时,我被重定向到404页面,提示未找到/Search。主页上的表格:@using (Html.BeginForm("Index", "Search", new { Retur…

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription…", "comment": ""} test.json{"name&#034…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Linq查询包含的Group By – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们