gpt4 book ai didi

c# - Lambda 表达式 : == vs. .Equals()

转载 作者:可可西里 更新时间:2023-11-01 07:57:03 25 4
gpt4 key购买 nike

这是一个纯粹的学术问题,但在 lambda 表达式中使用 == 和 .Equals 有什么区别,哪个更好?

代码示例:

int categoryId = -1;
listOfCategories.FindAll(o => o.CategoryId == categoryId);

int categoryId = -1; 
listOfCategories.FindAll(o => o.CategoryId.Equals(categoryId));

最佳答案

对于引用类型,== 旨在传达引用相等性——两个变量是否引用相同对象实例。
.Equals() 旨在传达值相等性——两个变量引用的两个可能不同的对象实例是否具有相同的值,对于您通过重载方法提供的“相同”的某些定义.

对于值类型,这两个含义是模糊的。

关于c# - Lambda 表达式 : == vs. .Equals(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2273600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com