我正在做一个项目,我必须在通用对象列表中检查一些 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/