c# - 对象的通用列表包含短返回 false

标签 c# .net list .net-4.0

我正在做一个项目,我必须在通用对象列表中检查一些 short 类型的值。奇怪的是,我注意到它总是返回 false,即使在对象的通用列表中有那个值。我提供了一小段代码,用于在我的项目中复制该场景。

List<object> objectList = new List<object>();
objectList.Add(1);
objectList.Add(2);
objectList.Add(3);
if (objectList.Contains(1))
{
    short i = 1;
    if (objectList.Contains(i))
    {
    }
    else if (objectList.Contains(i.ToString()))
    {
    }
    else
    {
        //Entering this else this loop only
    }
}

我的假设是,由于这些类型的大小不同,它可能会返回 false。任何其他想法。

谢谢。

最佳答案

objectList.Add(1);

相同
int i = 1;
objectList.Add(i);

所以

int y = 1;
objectList.Contains(y); // true

short z = 1;
objectList.Contains(z); // false

关于c# - 对象的通用列表包含短返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780002/

相关文章:

c# - 具有IEnumerable <Brush>作为ItemsSource和SelectedItem异常的ComboBox

c# - SQL 到 LINQ 转换器

c# - 在用户控件上更改运行时 UI 的最佳方法?

c# - IIS 应用程序池访问网络上的远程目录

c# - WCF 代理使用

c# - 动态代码片段 c# visual studio

c# - 突然出现无法忍受的写一些评论的欲望,是糟糕设计的征兆吗?

java - 如何在 playframework 中渲染列表

python - 将字典中的值从 str 转换为 float

list - 在列表 monad 中使用 return 与不使用 return