首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

typeof关键字可以用来变量类型的声明吗

2013-09-06 
typeof关键字可以用于变量类型的声明吗?C#入门经典上面说typeof可以用于Enum.Parse函数。我的问题是,其

typeof关键字可以用于变量类型的声明吗?
<<C#入门经典>>上面说typeof可以用于Enum.Parse函数。我的问题是,其他的场景下,typeof怎么用?
下面这段小程序有编译的错误:


    enum e1 : int
    {
        Monday = 1
    };
    class Program
    {
        static void Main(string[] args)
        {
            e1 a=e1.Monday;//OK

            string s="Monday";
            e1 c=(e1)Enum.Parse(typeof(e1),s);//OK

            int i=2;
            typeof(i) b=i;//编译错误
        }
    }

也就是typeof(e1) b=e1.Monday;错了。我是想不管i是什么类型,b就和它是一样的类型。那么今后即便i的类型改了,b的类型也自动就修改了,有点C++11里面decltype的味道。

C#的typeof能做到这点么? 我的理解是否有偏差呢?
谢谢!
[解决办法]
typeof 参数 不能为变量
[解决办法]
typeof()传入的参数是class,得到的是Type t,
比如
typeof(int)

int i = 0; i.GetType();

对于你的“不管i是什么类型,b就和它是一样的类型”,你可以尝试用var b = i;这样

热点排行