2

我有一个标准的学生名单。

public class Standard
{
    public int StandardId { get; set; }
    public string Name { get; set; }
    public List<Student> Students { get; set; }
}

public class Student
{
    public string Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }        
}


在 Student 类中没有像StandardId这样的成员 。那么,如果我们将学生列表与标准分开,我们
如何在每个学生实体中显示StandardId呢?

4

2 回答 2

1

试试这个:

var standard = GetStandard();
var studWStId = standard.Students
                        .Select(x=> new {
                                           Student = x, 
                                           StandardId = standard.StandardId 
                                })
                        .ToList();
foraech(stud in studWStId)
{
     System.Console.WriteLine(
         string.Format("Name:{0}, Sid:{1}", stud.Student.Name, stud.StandardId));
}

它将创建具有属性Student和的匿名对象列表,这是来自持有学生StandardId的令牌。standard

于 2013-02-07T09:01:55.790 回答
1

最好的方法是向被调用的类添加新Property的,但如果你不想这样做,你可以用 LINQStudentpublic int StandardId { get; set; }

Student student = ...;
List<Standard>() standards = ...;
var standardForStudent = standards.Where(x => x.Students.Any(y => y.Id == student.Id)).FirstOrDefault();
于 2013-02-07T09:04:58.087 回答