初始化变量并将int值赋给它,但在运行时将字符串值分配给它会导致错误。
var _formatedBillCode = 101;
_formatedBillCode="20160919_101_ank"; // assigning string value
初始化变量并将int值赋给它,但在运行时将字符串值分配给它会导致错误。
var _formatedBillCode = 101;
_formatedBillCode="20160919_101_ank"; // assigning string value
var
会在编译时推断其类型。与JS不同,这里的var
会在您首先定义为整数时,在编译时推断其类型。
后来如果您尝试更改它的类型,它会抛出一个错误,因为在编译时,它推断的第一个类型是int
。您不能将其更改为string
。
如果您需要很多动态内容,可以像以下内容一样使用dynamic
类型:
dynamic a = 1;
Console.WriteLine(a);
// Dynamic now has a different type.
a = new string[0];
Console.WriteLine(a);
// Assign to dynamic method result.
a = Test();
Console.WriteLine(a);
// Use dynamic field.
_y = "carrot";
// You can call anything on a dynamic variable,
// ... but it may result in a runtime error.
Console.WriteLine(_y.Error);
dynamic_formatedBillCode = 101;
_formatedBillCode="20160919_101_ank"; // assigning string value
首先,您将"_formatedBillCode"声明为int类型后,就无法将其更改为字符串类型。 "var"并不是动态的,它只代表类型。 您可以使用"dynamic"代替"var"。
var _formatedBillCodeInt = 101;
var _formatedBillCode="20160919_" + _formatedBillCodeInt.ToString() + "_ank"; // assigning string value
还是我误解了问题?