C#新手求助:如何用LINQ判断列表首个元素是否存在于另一列表
解决方案
首先要注意边界情况:如果list1是空列表,直接访问list1[0]会抛出ArgumentOutOfRangeException,所以第一步得先判断list1是否有元素。
实现这个功能最直接的LINQ方法是Contains(),它专门用来判断集合中是否包含指定元素。完整的函数实现如下:
bool Exists(List<int> list1, List<int> list2) { // 先检查list1是否非空,避免索引越界 if (list1 == null || !list1.Any()) return false; // 使用LINQ的Contains方法判断首元素是否在list2中 return list2.Contains(list1[0]); }
补充说明
list1.Any()是LINQ方法,用来快速判断集合是否包含至少一个元素,比list1.Count > 0更高效(对于部分集合类型不需要遍历整个集合)。- 如果能确定
list1永远不会为空,也可以简化代码,但作为健壮的实现,建议保留空值和空列表的判断逻辑。
内容的提问来源于stack exchange,提问作者hiThere
相关产品推荐
相关产品推荐

