从列表中提取字符串字段

时间:2014-03-27 14:36:49

标签: c#

public class StudentLibrary
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int Status { get; set; }
}

列表包含学生图书馆

List<StudentLibrary> StudentInfo; 

你能帮我从列表中提取学生身份吗?希望我有意义。

提前谢谢

4 个答案:

答案 0 :(得分:2)

状态是整数,但无关紧要 - 提取时可以使用LINQ投影算子Enumerable.Select

var statuses = StudentInfo.Select(s => s.Status);

如果您想在一个字符串中连接所有状态,那么String.Join可以帮助您:

var result = String.Join(",",  StudentInfo.Select(s => s.Status));

更新:如果您想选择具有最高状态的学生:

var student = StudentInfo.OrderByDescending(s => s.Status).FirstOrDefault();

答案 1 :(得分:1)

两个步骤:

  • 找到你想要的学生
  • 访问您想要的会员

例如:

var status = list[4].Status;
//...

或者:

var student = list.Find(x => x.ID == id);
if(student != null) {
    var status = student.Status;
    //...
}

请注意,Dictionary<int,Student>可以更好地服务于后者;那么你可以这样做:

StudentLibrary student;
if(lookup.TryGetValue(id, out student)) {
    var status = student.Status;
    //...
}

答案 2 :(得分:0)

如果你有一个特定的学生,并且你知道他们的ID:

var status = StudentInfo.Where(x => x.ID == studentId)
                        .Select(x => x.Status)
                        .FirstOrDefault();

答案 3 :(得分:0)

Var status = StudentInfo.Select(x=>x.Status)