【发布时间】:2021-06-09 14:29:43
【问题描述】:
当我们搜索一个爱好时如何返回一个人的名字,当没有匹配的爱好时它应该返回空。
【问题讨论】:
-
这个问题没有上下文。可以假设您有一组
Person对象,这些对象描述了Hobby属性,您可以使用FirstOrDefault过滤列表。但是我们无法知道这一点,我们只能假设。请提供详细信息。
当我们搜索一个爱好时如何返回一个人的名字,当没有匹配的爱好时它应该返回空。
【问题讨论】:
Person 对象,这些对象描述了 Hobby 属性,您可以使用 FirstOrDefault 过滤列表。但是我们无法知道这一点,我们只能假设。请提供详细信息。
有很多方法可以给这只猫剥皮。使用 Linq 可能是最标准的。
您要做的操作是选择字典的Key,其中值(爱好数组)包含字符串“Yoga”
val keys = hobbies.Where(keyvalue => keyvalue.contains("Yoga")).Select(keyvalue => keyvalue.key);
现在您有一系列键,其中一个爱好是瑜伽。
如果只有一个,如果有多个则报错,请用keys.Single()抄送。
如果可能有 0 个或多个,而您只想要一个任意的,则需要 keys.FirstOrDefault(),如果没有则返回 null。
在您之间有 SingleOrDefault() 代表 0 或 1,或 First() 代表 1 或更多选择任意一个。
【讨论】: