繁体   English   中英

如何将数据表转换为List <long,List<keyvaluepair<string,string> &gt;&gt;在C#中

[英]how to convert a datatable to List<long,List<keyvaluepair<string,string>>> in C#

我有一个包含三列的数据表,ID,Name和Value。

我想将此数据List<long,List<keyvaluepair<string,string>>>转换为List<long,List<keyvaluepair<string,string>>>

唯一的技巧是ID是来自另一个表的外来的。 所以它可能具有重复价值。

我想用C#做。

提前致谢。


不,不是dictionaly .....actaly我有两个课说,定义为....

public class RunParameters
    {
        public long RunId { get; set; }
        public List<WorkflowParameter<string>> WorkflowParameters { get; set; }

        public RunParameters()
        {
            WorkflowParameters = new List<WorkflowParameter<string>>();
        }
    }

 public struct WorkflowParameter<T>
    {
        public string ParameterName
        { get; set; }
        public T ParameterValue
        { get; set; }
    }

我想将数据转换为List。

我不能使用字典,因为我想序列化这个List以通过网络发送....

ID对您的查询中的项目进行分组,并将每个项目从组计划到KeyValuePair

(from r in table.AsEnumerable()
 group r by r.Field<long>("ID") into g
 select g.Select(i => new KeyValuePair<string, string>(
                      i.Field<string>("Name"), i.Field<string>("Value"))
         .ToList()).ToList()

或完全使用方法语法:

 table.AsEnumerable()
      .GroupBy(r => r.Field<long>("ID"))
      .Select(g => g.Select(r => new KeyValuePair<string, string>(
                          r.Field<string>("Name"), r.Field<string>("Value"))
                    .ToList())
      .ToList() 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM