新闻中心
C# 如何判断一个 List 是否包含某个元素_C# List 元素包含判断方法
判断List是否包含元素常用Contains方法,适用于简单类型;自定义对象需重写Equals和GetHashCode;复杂条件推荐使用LINQ的Any方法。

在 C# 中,判断一个 List 是否包含某个元素,最常用的方法是使用 Contains 方法。该方法返回一个布尔值,表示列表中是否存在指定元素。
1. 使用 Contains 方法(适用于简单类型)
对于字符串、整数等基础数据类型,可以直接调用 Contains 方法:List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
bool hasThree = numbers.Contains(3);
Console.WriteLine(hasThree); // 输出: True
<p>List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
bool hasAlice = names.Contains("Alice");
Console.WriteLine(hasAlice); // 输出: True
2. 判断自定义对象是否包含(需重写 Equals 和 GetHashCode)
如果 List 中存储的是自定义类的对象,直接使用 Contains 可能无法按预期工作,因为默认比较的是引用。你需要重写 Equals 和 GetHashCode 方法:public class Person
{
public string Name { get; set; }
public int Age { get; set; }
<pre class="brush:php;toolbar:false;">public override bool Equals(object obj)
{
if (obj is Person other)
return Name == other.Name && Age == other.Age;
return false;
}
public override int GetHashCode()
{
return HashCode.Combine(Name, Age);
}
}
// 使用示例
List
Person search = new Person { Name = "Alice", Age = 30 }; bool contains = people.Contains(search); Console.WriteLine(contains); // 输出: True
3. 使用 Any 方法进行条件判断(更灵活)
当你需要根据特定条件判断是否存在匹配元素时,可以使用 LINQ 的 Any 方法:using System.Linq;
<p>List<Person> people = new List<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 }
};</p><p>bool hasAdult = people.Any(p => p.Age >= 18);
Console.WriteLine(hasAdult); // 输出: True</p><p>bool hasAlice
= people.Any(p => p.Name == "Alice");
Console.WriteLine(hasAlice); // 输出: True
Contains 更适合精确值匹配,而 Any 提供了更大的灵活性,支持复杂条件判断。
刺鸟创客
一款专业高效稳定的AI内容创作平台
110
查看详情
基本上就这些。根据你的数据类型和需求选择合适的方式即可。
以上就是C# 如何判断一个 List 是否包含某个元素_C# List 元素包含判断方法的详细内容,更多请关注其它相关文章!
# 当你
# 商标搜索网站建设素材
# seo疑问答案
# 国内网站建设价钱排行
# 初级seo工程师工资
# 电影的网站建设
# 推广网站怎么做模版
# 学校党支部网站建设
# 深圳罗湖免费网站建设
# 桂林高效seo哪家好
# seo观察室作用
# 更大
# c#
# 抽象类
# 如何实现
# 如何使用
# 如何判断
# 适用于
# 的是
# 重写
# 自定义
# ai
# list
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
如何在Promise链中有效终止错误处理后的执行
html5 app怎么运行环境_配html5 app运行环境【教程】
《刺客信条:影》PS5 Pro和Switch 2画面对比
Spring Boot嵌入式服务器与J*a EE:功能支持深度解析
解决Tabulator日期时间排序问题的专业指南
AO3官网镜像链接 Archive of Our Own同人文在线浏览
Golang如何实现状态模式管理对象状态_Golang State模式实现技巧
MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId
2026年CSGO开箱网站推荐 CSGO开箱平台精选
反效果?《战地6》免费试玩开启后玩家数不升反降
在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析
如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单
TikTok搜索不到用户发布内容怎么办 TikTok用户内容搜索优化方法
极速漫画官方主页网址 极速漫画漫画在线浏览官网链接
必由学官方平台入口 必由学在线课堂登录地址
初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解
单射、满射与双射的关系 一文理清所有逻辑
sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程
C++ string find函数返回值npos详解_C++字符串查找失败的判断条件
Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析
如何修改开机登录密码_Windows账户安全设置超详细教程【必学】
Python:递归比较文件夹内容并找出特定类型文件的差异
微博网页版主页入口 微博官方网站免登录访问
可靠CSGO开箱平台解析 CSGO开箱网合集
必由学官方网站入口 必由学学生教师共用登录通道
深入理解J*aScript中的B样条曲线与节点向量生成
淘宝支付提示失败如何解决 淘宝支付流程优化方法
优化Log4j2控制台输出性能:解决异步日志瓶颈
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
Yandex官网搜索引擎免登录_俄罗斯Yandex一键直达入口
b站怎么删除评论_b站评论管理与删除操作
Golang如何安装Swagger工具_GoSwagger文档生成环境
mc.js游戏直达 mc.js网页免下载版本秒进地址
绝地鸭卫平a核爆刀流玩法攻略
C++如何操作大型数据集_使用C++流式处理(Streaming)技术避免一次性加载大文件
wps文字怎么插入目录并自动更新_wps文字如何插入目录并自动更新方法
QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用
如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率
poki免费入口快捷访问 poki人气小游戏直接玩站点
微信网页版官方入口教程 微信网页版网页版快速登录步骤
2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析
夸克浏览器网页版最新地址 夸克浏览器官方入口合集
在Go开发中优雅管理ListenAndServe进程:GoSublime集成方案
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配
必由学官网首页入口 必由学教师网页版登录指南
腾讯QQ邮箱官方网站_QQ邮箱网页版在线登录
KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法


2025-11-06
浏览次数:次
返回列表
= people.Any(p => p.Name == "Alice");
Console.WriteLine(hasAlice); // 输出: True