结合两个不同的列表C#

时间:2017-04-27 09:22:49

标签: c# linq

我有两个班级

[
      {
      "ID": "1",
      "Question": "Question 1 here",
   },
      {
      "ID": "3",
      "Question": "Question 3 here",
   },
     "Channel_ID" : true,
     "Available_Item" : false
]

AuditResults将从查询返回多行,而AuditResults2将只有一行。

我希望将所有结果与

结合起来
public class AuditResultsFinal
    {
        public AuditResults AuditResults {get; set;}
        public AuditResults2 AuditResults2 { get; set; }
    }

如果我创建了一个包含其他类对象的第三个类,我可以在第三个类中添加2个类。

List<AuditResults> myResults = Database.SqlQuery<AuditResults>(query,model.UserName).ToList();

AuditResults的结果

List<AuditResults2> myResults2 = Database.SqlQuery<AuditResults2>(query,model.UserName).ToList();

AuditResults2的结果

List<AuditResultsFinal> myFinalResults = new List<AuditResultsFinal>();

如何在myFinalResults中结合以上2个结果:

"php://input"

2 个答案:

答案 0 :(得分:1)

您需要在最后一堂课中列出AuditResults。所以你需要使它成为List类型。将您的 AuditResultsFinal 更改为

public class AuditResultsFinal
    {
        public List<AuditResults> AuditResults { get; set; }
        public List<AuditResults2> AuditResults2 { get; set; }
    }

然后,您可以在 AuditResultsFinal 中指定 AuditResults AuditResults2 的列表。

var AuditResults1 = new List<AuditResults>{
                new AuditResults{ID="1",Question="Q1"},
                new AuditResults{ID="2",Question="Q2"}
            };

            var AuditResults2 = new List<AuditResults2>{
                new AuditResults2{Channel_ID=3,Available_Item=true},
                new AuditResults2{Channel_ID=4,Available_Item=false}
            };

            AuditResultsFinal final = new AuditResultsFinal()
            {
                AuditResults = AuditResults1,
                AuditResults2 = AuditResults2
            };

答案 1 :(得分:0)

在您不关心的情况下尝试此操作,在AuditResultsFinal中哪些对象聚集在一起并且两个列表具有相同的长度。

var result = new List<AuditResultsFinal>();

for(var i = 0; i < myResults.Count; i++)
{
   res.Add(new AuditResultsFinal() { AuditResults = myResults[i], AuditResults2 = myResults2[i] });
}