using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
var dict = new Dictionary<string, string>()
{
{"question1", "7"},
{"question1_comment", "pretty difficult"},
{"question2", "9"},
{"question2_comment", ""},
{"question3", "5"},
{"question3_comment", "Never on time"},
};
var list = dict
.Where(x => !x.Key.Contains("comment"))
.Select(x =>
new Question()
{
QuestionId =x.Key,
Answer = x.Value,
Comment = dict.Single(y => y.Key == String.Concat(x.Key,"_comment")).Value
})
.ToList();
foreach (var item in list)
Console.WriteLine(String.Format("{0} - {1} - {2}", item.QuestionId, item.Answer, item.Comment));
}
}
public struct Question
{
public string QuestionId { get; set; }
public string Answer { get; set; }
public string Comment { get; set; }
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIGRpY3QgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4oKQoJCXsKCQkgICAgeyJxdWVzdGlvbjEiLCAiNyJ9LAoJCSAgICB7InF1ZXN0aW9uMV9jb21tZW50IiwgInByZXR0eSBkaWZmaWN1bHQifSwKCQkgICAgeyJxdWVzdGlvbjIiLCAiOSJ9LAoJCSAgICB7InF1ZXN0aW9uMl9jb21tZW50IiwgIiJ9LAoJCSAgICB7InF1ZXN0aW9uMyIsICI1In0sCgkJICAgIHsicXVlc3Rpb24zX2NvbW1lbnQiLCAiTmV2ZXIgb24gdGltZSJ9LAoJCX07CgkKCgkJdmFyIGxpc3QgPSBkaWN0CgkJCQkJLldoZXJlKHggPT4gIXguS2V5LkNvbnRhaW5zKCJjb21tZW50IikpCgkJCQkJLlNlbGVjdCh4ID0+IAoJCQkJCQluZXcgUXVlc3Rpb24oKSAKCQkJCQkJewoJCQkJCQkJUXVlc3Rpb25JZCA9eC5LZXksIAoJCQkJCQkJQW5zd2VyID0geC5WYWx1ZSwgCgkJCQkJCQlDb21tZW50ID0gZGljdC5TaW5nbGUoeSA9PiB5LktleSA9PSBTdHJpbmcuQ29uY2F0KHguS2V5LCJfY29tbWVudCIpKS5WYWx1ZQoJCQkJCQl9KQoJCQkJCS5Ub0xpc3QoKTsKCgkJZm9yZWFjaCAodmFyIGl0ZW0gaW4gbGlzdCkKCQkJQ29uc29sZS5Xcml0ZUxpbmUoU3RyaW5nLkZvcm1hdCgiezB9IC0gezF9IC0gezJ9IiwgaXRlbS5RdWVzdGlvbklkLCBpdGVtLkFuc3dlciwgaXRlbS5Db21tZW50KSk7Cgl9Cn0KCnB1YmxpYyBzdHJ1Y3QgUXVlc3Rpb24gCnsKCXB1YmxpYyBzdHJpbmcgUXVlc3Rpb25JZCB7IGdldDsgc2V0OyB9CglwdWJsaWMgc3RyaW5nIEFuc3dlciB7IGdldDsgc2V0OyB9CglwdWJsaWMgc3RyaW5nIENvbW1lbnQgeyBnZXQ7IHNldDsgfQp9Cg==