能否将数据库返回的bigint值直接赋值给C#字符串变量?
C#字符串变量赋值bigint值的合法性问题
直接赋值数值字面量的情况
直接写 verylongNumber = 501000000111337; 不合法,因为501000000111337是数值类型字面量,C#不支持数值类型到字符串的隐式转换,这样写会触发编译错误。
要实现赋值,需要显式转换:
// 方式1:调用数值的ToString()方法 verylongNumber = 501000000111337.ToString(); // 方式2:将数值包裹为字符串字面量 verylongNumber = "501000000111337";
通过数据库函数赋值的情况
这取决于getDBValues()的返回类型:
- 如果函数返回的是C#的
long类型(对应SQL的bigint),同样不能直接赋值,必须显式转换为字符串:verylongNumber = getDBValues().ToString(); - 如果函数内部已经把数据库返回的bigint值转换为字符串类型返回,那么直接赋值
verylongNumber = getDBValues();是合法的。
内容的提问来源于stack exchange,提问作者Kumas
相关产品推荐
相关产品推荐

