Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从列表中提取字符串字段_C# - Fatal编程技术网

C# 从列表中提取字符串字段

C# 从列表中提取字符串字段,c#,C#,名单续学生图书馆 public class StudentLibrary { public int ID { get; set; } public string Name { get; set; } public int Status { get; set; } } 列出学生信息; 你能帮我从名单中提取学生身份吗。希望我有道理 提前感谢状态为整数,但这无关紧要-对于提取,您可以使用LINQ投影运算符枚举。选择: List<StudentLibrary> S

名单续学生图书馆

public class StudentLibrary
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int Status { get; set; }
}
列出学生信息;
你能帮我从名单中提取学生身份吗。希望我有道理


提前感谢

状态为整数,但这无关紧要-对于提取,您可以使用LINQ投影运算符
枚举。选择

List<StudentLibrary> StudentInfo; 
如果要将所有状态连接到一个字符串中,则
string.Join
可以帮助您:

var statuses = StudentInfo.Select(s => s.Status);
更新:如果要选择状态为max的学生:

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

如果您心目中有一个特定的学生,并且您知道他们的ID:

var student = StudentInfo.OrderByDescending(s => s.Status).FirstOrDefault();
两个步骤:

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

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

请注意,后者最好使用
词典
;然后你可以做:

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

名单上哪个学生的状态?“希望我说得通。”不。你想找什么学生?你试过使用循环吗?您遇到了什么问题?@MarcGravell student with Max(statusID)
,其中
是多余的,只需将lambda放入
FirstOrDefault
并访问status属性。是的,但这也有
status
为空的风险,因此在某个点上,您(大概)是如果我想要Max(studentID),将在您的代码中进行空检查。在where子句中?appologies@GrantWiney您的查询对我有帮助吗?但我刚刚意识到,我需要使用Max(studentID)进一步过滤上述查询。
var student = list.Find(x => x.ID == id);
if(student != null) {
    var status = student.Status;
    //...
}
StudentLibrary student;
if(lookup.TryGetValue(id, out student)) {
    var status = student.Status;
    //...
}
Var status = StudentInfo.Select(x=>x.Status)