【发布时间】:2018-05-13 14:53:42
【问题描述】:
我声明了 9 个对象,每个对象都有一个 ID 变量。我需要遍历所有对象并验证 ID 是否等于另一个变量。当我找到该对象时,它将用于其他事情。由于对象比简单变量更复杂,我不知道如何在循环期间切换到下一个。甚至可能吗?有没有其他方法可以达到相同的结果? (使用 C#)
【问题讨论】:
-
使用
List.Find()?你有没有尝试过自己解决这个问题? -
我尝试在互联网上查找,但找不到任何东西。所以我尝试使用具有灾难性结果的数组。当我说我有一个对象列表时,我的意思是我只声明了一堆对象,而不是一个正确的列表。
-
展示你迄今为止的作品。对象是相同类型还是不同类型? “灾难性的结果”是什么意思?
-
如果您没有“适当的列表”,可以将它们存储在适当的列表或任何其他集合中吗?大多数集合都具有实例方法或扩展方法,可以轻松地完成您所要求的工作。例如,如果您确实将它们放在列表中,则简单的
list.FirstOrDefault(item => item.Id == thatOtherVariable);将给您该元素,或者null以防它没有找到它。一般提示是,如果您正在处理项目集合(此处的集合表示“多个项目”),实际上最好使用集合(此处的集合表示数据结构)。 -
@EricLippert 是的,它们属于同一类型,只是与那个 ID 变量不同。 “灾难性的结果”意味着甚至无法创建数组,因为编译器无法识别声明。