C# Linq:返回不同类型的新列表

C# Linq:返回不同类型的新列表,c#,linq,C#,Linq,给定“AccountItem”类型的返回,我想筛选并排序到类型为FDKeyValue 我试图做到这一点,而不是循环,我想我可以这样做: var monthlyList = accountList.Where(x => x.RoleType == "Metric") .OrderBy(x => x.EntityName) .Select(new FDKeyValue<long, string>{} { "Field", "Fi

给定“AccountItem”类型的返回,我想筛选并排序到类型为
FDKeyValue

我试图做到这一点,而不是循环,我想我可以这样做:

var monthlyList = accountList.Where(x => x.RoleType == "Metric")
     .OrderBy(x => x.EntityName)
     .Select(new FDKeyValue<long, string>{}
     {
         "Field", "Field"
     }
);
var monthlyList=accountList.Where(x=>x.RoleType==“Metric”)
.OrderBy(x=>x.EntityName)
.Select(新FDKeyValue{}
{
“字段”,“字段”
}
);
下面是我在使用循环时所做的工作

var accountList = DBEntity.ReturnAccountListBySearch((int)this.PageLanguageType, "");
var monthlyList = accountList.Where(x => x.RoleType == "Metric").OrderBy(x => x.EntityName).ToList();
this.MonthlyAccountList = new FDKeyValue<long,string>();
foreach (var item in monthlyList)
{
    this.MonthlyAccountList.Add(item.EntityID, item.EntityName);
}
var accountList=DBEntity.ReturnAccountListBySearch((int)this.PageLanguageType,”);
var monthlyList=accountList.Where(x=>x.RoleType==“Metric”).OrderBy(x=>x.EntityName.ToList();
this.MonthlyAccountList=新的FDKeyValue();
foreach(月列表中的var项目)
{
此.MonthlyAccountList.Add(item.EntityID,item.EntityName);
}
此语法必须有所帮助

    var monthlyList = accountList.Where(x => x.RoleType == "Metric")
            .OrderBy(x => x.EntityName)
            .Select(x => new FDKeyValue<long, string>
                {
                 x.EntityID, x.EntityName
              }
            );
var monthlyList=accountList.Where(x=>x.RoleType==“Metric”)
.OrderBy(x=>x.EntityName)
.选择(x=>new FDKeyValue
{
x、 EntityID,x.EntityName
}
);

所以FDKeyValue本身就是一个集合,它有一个Add方法,对吗?
select
vs
foreach
的性能考虑是的FDKeyValue是一个继承列表的通用元组。谢谢你的帮助。