从下拉列表的对象列表中选择一个对象

时间:2019-04-29 02:20:26

标签: c# asp.net list linq

DropDownList对象绑定到job对象列表的情况下,绑定是直接的还是完全是一个单独的列表?我一直在使用LINQ表达式从选区中提取单个job对象,如下所示:

job selectedJob = (JobList.Single(j => j.JobID == Convert.ToInt32(jobDropDown.SelectedValue)));

这对我想做的事情来说是一个巨大的矫over过正,并且有一种更短/更容易/更有效的方法吗?

小修改:我使用了Convert.ToInt32,以防万一ValueMember被转换为webcontrol分配中的字符串。我知道这可能是不必要的。

1 个答案:

答案 0 :(得分:2)

在我看来,这似乎并不过分,而且看起来也很简单。我唯一能看到的问题是使用.Single(),如果找不到结果或发现重复的结果,则会抛出错误。如果您需要确保只有一个结果,那么使用.Single()应该很好,尽管即使找到结果也必须处理整个列表。使用.FirstOrDefault()会更好,因为一旦找到第一个结果,它将返回返回值;否则将返回空值。