有一个字符串变量,它与一个类的名称相同。 Console.WriteLine命令”显示字符串的内容时,我显示,不过分,当我尝试的typeof()类。为什么呢?Typeof考虑类而不是变量
class Fun { }
class MyFun
{
static void Main()
{
string Fun = "hello, world";
string s = Fun;
Type t = typeof(Fun);
Console.WriteLine(s);
Console.WriteLine(t);
}
}
因为'typeof'预计类型作为参数 – Fabio
这是它是如何定义的。你可以在变量 – Adil
上使用GetType更“有趣”和相关:'class Fun {public static int Length => 42; } class MyFun { static void Main() { string Fun =“hello,world”; var greatFun = Fun.Length; } }'在这种情况下,'Fun.Length'可以是局部变量的实例属性,也可以是类型的'static'属性。第一个是假设的。要获得第二个,使用命名空间限定'Fun'(如有必要,使用'global ::'命名空间别名)。 _这是不用大写首字母命名局部变量的原因之一._ –