初始化变量并为其赋值,并在运行时指定一个字符串值,它会给出错误。
var _formatedBillCode = 101;
_formatedBillCode="20160919_101_ank"; // assigning string value
答案 0 :(得分:3)
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
答案 1 :(得分:1)
使用dynamic将数据类型解析为运行时。
dynamic _formatedBillCode = 101;
_formatedBillCode="20160919_101_ank";
答案 2 :(得分:0)
首先你将“_formatedBillCode”声明为int,之后你不能将类型更改为字符串,“var”不是动态的,它只是表示类型。 你可以用“动态”代替“var”。
答案 3 :(得分:0)
您正在尝试将字符串值分配给int,如果不进行强制转换,它将无法工作。这会将第二个变量指定为一个字符串,并将整数强制转换为字符串:
var _formatedBillCodeInt = 101;
var _formatedBillCode="20160919_" + _formatedBillCodeInt.ToString() + "_ank"; // assigning string value
或者我误解了这个问题?