从列表中提取字符串字段

本文关键字:字符串 字段 提取 列表 | 更新日期: 2023-09-27 17:53:56

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

学生图书馆列表

List<StudentLibrary> StudentInfo; 

你能帮我从列表中提取学生状态吗?希望我说的有意义。

提前感谢

从列表中提取字符串字段

状态是整数,但没关系-对于提取,您可以使用LINQ投影算子Enumerable.Select:

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

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

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

UPDATE:如果你想选择student with max status:

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

两步:

  • 找到你想要的学生
  • 访问您想要的成员
例如:

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;
    //...
}

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

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