对于下面的代码,“GetType()”对于Var结果&是相同的(String)。 RESULT1。
$_POST['id']
如何获取上述变量的实际数据类型?
答案 0 :(得分:0)
通过“实际数据类型”,您可能意味着“可以将数据处理(转换)为double,int”等。如果是您的情况,请尝试使用TryParse
,可能 C#7.0 < / strong>(out var
施工)实施:
var result1 = "10.17";
if (int.TryParse(result, out var intValue)) {
// result1 can be treated as int - intValue
}
else if (double.TryParse(result,
NumberStyles.Any,
CultureInfo.InvariantCulture,
out var doubleValue)) {
// result1 can be treated as double - doubleValue
}
else {
// result1 is a string which can't be converted to int, double
}
答案 1 :(得分:0)
使用 var 声明的变量是隐式类型变量,但是(与使用 dynamic 不同)强类型变量。因此,您使用的变量将具有您为其分配的值的类型,并且无法分配其他类型的值。
string a = "foobar";
var b = "foobar";
int c = 10;
var d = 10;
a 和 b 都是字符串类型。因为b获得了一个字符串。类型为int的 c 和 d 也是如此。
这将生成编译器错误
var a = "foobar";
var i = 10;
a = i;
因为你不能将int赋给string类型的变量。
有关 var 的详细信息,请查看var (C# reference)。
答案 2 :(得分:0)
string a ="12.22";
int result;
double result1;
string ans = string.Empty;
if(int.TryParse(a,out result))
{
ans = "Integer";
}
else if(double.TryParse(a,out result1))
{
ans = "double";
}
else
{
ans = "string";
}