【发布时间】:2017-09-29 08:49:57
【问题描述】:
我想加入 2 个列表。学生和个人。 Student 和 Person 都有 id 和 name 变量,而且 Student 有另一个名为 isStudying 的变量。我想通过 isStudying 变量将所有学生加入到 Person 中。
var persons = new Person { id = 1, name = "John" };
var persons = new Person { id = 2, name = "Ace" };
var persons = new Person { id = 3, name = "Mike" };
var persons = new Person { id = 4, name = "Yob" };
var persons = new Person { id = 5, name = "Ken" };
var students = new Student { id = 2, name = "Ace", isStudying=true };
var students = new Student { id = 3, name = "Mike", isStudying = true };
var students = new Student { id = 5, name = "Ken", isStudying = true };
persons.Addrange(students.where(student.id.contain(persons.id)));
【问题讨论】:
-
1- 哪种语言? c# 也许 2- 使用继承 3- 正确声明变量
-
感谢您的回答。 1. 是的,它是 C#。 2.数据来自不同的表。但仅选择这些值用于显示目的。 isStudying 变量将确定复选框是否在显示时被选中。
-
如果您可以使用匿名类型,这里有一条:
persons.Select(p => new { p.id, p.name, students.Any(s => s.id == p.id && s.isStudying) });。虽然看起来你也可以使用Student类:persons.Select(p => new Student { id = p.id, name = p.name, isStudying = students.Any(s => s.id == p.id && s.isStudying) }); -
谢谢!这解决了我的问题。谢谢@KeyurPATEL