fork download
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. Dictionary<string, List<object>> mydata = new Dictionary<string, List<object>>();
  10. List<object> ldate=new List<object>(){"1/1/2000","1,1/2001"};
  11. List<object> lage=new List<object>(){"4","5"};
  12.  
  13. mydata["date"] = ldate;
  14. mydata["age"] = lage;
  15.  
  16. List<Dictionary<string, object>> mytarget = new List<Dictionary<string, object>>();
  17. Dictionary<string,object> t1=new Dictionary<string,object>();
  18. Dictionary<string,object> t2=new Dictionary<string,object>();
  19.  
  20. t1["date"]="1/1/2000";
  21. t1["age"]="4";
  22.  
  23. t2["date"]="1/1/2001";
  24. t2["age"]="5";
  25. mytarget.Add(t1);
  26. mytarget.Add(t2);
  27. var orig = mydata;
  28. var res = Enumerable.Range(0, orig.Values.First().Count)
  29. .Select(
  30. i => orig.Aggregate(
  31. new Dictionary<string,object>()
  32. , (d, p) => { d[p.Key] = p.Value[i]; return d; }
  33. )
  34. ).ToList();
  35. foreach (var d in res) {
  36. foreach (var p in d) {
  37. Console.WriteLine("{0} -> {1}", p.Key, p.Value);
  38. }
  39. }
  40. }
  41. }
Success #stdin #stdout 0.04s 34104KB
stdin
Standard input is empty
stdout
date -> 1/1/2000
age -> 4
date -> 1,1/2001
age -> 5