SqlServer中我的一种数据类型是smallint
,它映射到.NET中的short
或Int16
。我正在使用一个简单的循环与我是一个整数,它告诉我,它不能隐式地转换两者之间?为什么不能将.Net从short转换为int?
我只是想知道为什么这是不可能的?这是否仅仅是为了防止你使用大于短暂的数字?这对我来说似乎很奇怪,因为我大约80%确定我从来不必将int
转换为long
?
样品:
public Int16 Test()
{
int i = 2;
return i;
}
听起来可疑,你可以张贴演示问题的代码? – 2012-03-15 14:29:09
因为在CLR类型中'long'大于'int',所以不需要将'int'转换为'long'。 – 2012-03-15 14:37:32