C# Any()表达式的结果始终为;假;
在准备好有关 如果Any()找到与条件匹配的对象,则应返回true 我有一个文章列表,在列表中添加一篇文章之前,我想检查这篇文章是否已经在我的列表中C# Any()表达式的结果始终为;假;,c#,list,C#,List,在准备好有关 如果Any()找到与条件匹配的对象,则应返回true 我有一个文章列表,在列表中添加一篇文章之前,我想检查这篇文章是否已经在我的列表中 foreach (Article a in _lstArticleTemp) { if (_lstMarqueTemp.Any(item => item == a.Marque)) _lstMarqueTemp.Add(a.Marque); } 但它的意思是:表达式的结果总是“false”,因为int类型的值永远不等
foreach (Article a in _lstArticleTemp)
{
if (_lstMarqueTemp.Any(item => item == a.Marque))
_lstMarqueTemp.Add(a.Marque);
}
但它的意思是:表达式的结果总是“false”,因为int类型的值永远不等于int类型的null
警告不正确。该代码没有任何错误;它将正常工作,因为
int
(和所有其他值类型)的==
运算符已解除,以支持可为空的值。警告不正确。该代码没有任何错误;它将正常工作,因为int
(和所有其他值类型)的==
运算符已解除,以支持可为空的值。警告不正确。该代码没有任何错误;它将正常工作,因为int
(和所有其他值类型)的==
运算符已解除,以支持可为空的值。警告不正确。该代码没有任何错误;它将正常工作,因为=
int(和所有其他值类型)的=
运算符被提升以支持可为空的值。从何处获得该错误?是a.Marque
还是项
可为空?Marque包含int?Id和字符串name@Seb:int?是所谓的可空类型,此处的文档:。您将需要使用可空类型的HasValue
和Value
成员。@devshorts但应取消=
运算符以进行可空比较new int()==new int?()
编译得很好,没有警告。您从哪里得到该错误?是a.Marque
还是item
可为空?Marque包含int?Id和字符串name@Seb:int?是所谓的可空类型,此处的文档:。您将需要使用可空类型的HasValue
和Value
成员。@devshorts但应取消=
运算符以进行可空比较new int()==new int?()
编译得很好,没有警告。您从哪里得到该错误?是a.Marque
还是item
可为空?Marque包含int?Id和字符串name@Seb:int?是所谓的可空类型,此处的文档:。您将需要使用可空类型的HasValue
和Value
成员。@devshorts但应取消=
运算符以进行可空比较new int()==new int?()
编译得很好,没有警告。您从哪里得到该错误?是a.Marque
还是item
可为空?Marque包含int?Id和字符串name@Seb:int?是所谓的可空类型,此处的文档:。您将需要使用可空类型的HasValue
和Value
成员。@devshorts但应取消=
运算符以进行可空比较new int()==new int?()
编译很好,没有警告。您是对的,在重新编译解决方案后,警告不再存在。您是对的,在重新编译解决方案后,警告不再存在。您是对的,在重新编译解决方案后,警告不再存在你是对的,在重新编译解决方案后,警告不再存在