Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 要列出的词典列表<;类型>;使用Linq_C#_Linq - Fatal编程技术网

C# 要列出的词典列表<;类型>;使用Linq

C# 要列出的词典列表<;类型>;使用Linq,c#,linq,C#,Linq,我将下面的代码片段转换为c# 公共类客户端 { 公共字符串ID{get;set;} 公共字符串名称{get;set;} 公共字符串地址{get;set;} } var liste=新列表(); var dictionary=newdictionary(); 字典[“Id”]=“111”; 字典[“名称”]=“XYZ”; 字典[“地址”]=“地址”; 添加(字典); var result=liste.SelectMany(x=>x); //将结果转换为列表的代码 现在,我想使用linq从结果查询

我将下面的代码片段转换为c#

公共类客户端
{
公共字符串ID{get;set;}
公共字符串名称{get;set;}
公共字符串地址{get;set;}
}
var liste=新列表();
var dictionary=newdictionary();
字典[“Id”]=“111”;
字典[“名称”]=“XYZ”;
字典[“地址”]=“地址”;
添加(字典);
var result=liste.SelectMany(x=>x);
//将结果转换为列表的代码

现在,我想使用linq从结果查询创建列表。您可以执行以下操作:

var result = liste.Select(map => new Client { ID = map["ID"],
                                              Name = map["Name"],
                                              Address = map["Address"] })
                  .ToList();
你是这么想的吗?您可以通过迭代字典并使用反射设置属性使其更通用。。。当然,它会变得非常长。

试试这个

var q = (from dic in liste
select new Client
{
Id = dic["Id"],
Name = dic["Name"],
Address = dic["Address"],

}).ToList();

嗯,我本来打算发帖的,但不知怎的,我觉得乔恩·斯基特会有更好的解决办法;pSure这是可以做到的,但是如果你能告诉我们为什么数据会变成这样,那会有所帮助。例如,为什么要将字典列表展平?这只会让事情变得更难。@Ani:我错贴了那个代码。我的要求是把列表转换成一个类型的列表。该死,在点击提交的时候,你比我先到了!
var q = (from dic in liste
select new Client
{
Id = dic["Id"],
Name = dic["Name"],
Address = dic["Address"],

}).ToList();