如何指定要提取的ICollection中的哪个对象

时间:2017-04-21 16:27:33

标签: c#

我有一个CurJob对象的ICollection。我需要从这些对象中的特定对象访问属性。我现在这样做的方式只是让我访问集合中的第一个对象。我知道我告诉它使用.First(),我意识到这可能不是我想要的。所以基本上这个集合中只能有1个,或者可能有无限数量。我希望能够根据名为entryNumber的属性获取我需要的特定内容。我需要最高的entryNumber作为我公开的对象。不知道如何处理思想。有什么想法吗?

// Find the job we just submitted
CurJob runningJob = CurJob.Find("Some Job", StateType.Any, server).ToList().First();

1 个答案:

答案 0 :(得分:2)

你几乎拥有它。在选择第一个之前,只需按entryNumber排序。

CurJob job = CurJob.Find("Some Job", StateType.Any, server).ToList()
                   .OrderByDescending(j => j.entryNumber).First();

修改

您需要使用System.Linq命名空间。

修改

如果您要查找与特定entryNumber匹配的所有作业,而不是最高的作业,请尝试以下操作:

var jobs = CurJob.Find("Some Job", StateType.Any, server).ToList()
                   .Where(j => j.entryNumber == X);

(将X替换为您正在寻找的号码)