zoukankan      html  css  js  c++  java
  • 【C#】隐式类型var

    在.NET 3.0后微软引入了隐式类型var,编译器可以自动判断变量的类型,通过var这个隐式类型,可以提高开发人员的开发效率,很多时候可以不考虑对象的类型,编译器会自动帮我们判断

    使用隐式类型和使用其他显式类型的效果是一样的,只是在编译的过程IDE自动判断类型,所以很多时候我们不用考虑变量的具体类型

        class Program
        {
            static void Main(string[] args)
            {
                var str = "aaa";
                var i = 15;
                var obj = new { Name = "10", Age = 15 };
                str.ToString();
                i.ToString();
            }
        }

    编译完,IDE会自动的把var换成string,int,而第三个,在编译的时候会自动生成一个匿名的类,obj是一个类的对象,可以通过Reflector反编译工具查看到

    在使用隐式类型var的时候,需要遵循几个规则

      1)var类型的值必须是局部变量静态变量

      2)var变量在声明之前必须被初始化

      3)变量的值不能为null(这样编译器就不能判断类型了)

      4)var变量不能为一个方法或方法组

      5)不能用来声明参数类型

        class Program
        {
            int num = 15;
            static void Main(string[] args)
            {
                string str;
                //不能使用为初始化的变量
                //var s = str;
    
                //不能引用字段,只能是局部变量或静态变量
                //var n = num;
    
                //var变量值不能为null
                //var s = null;
    
                //不能用函数返回值赋值
                //var s = Add(10, 15);
            }
            //不能用作方法参数类型
            //public int Add(var a, var b)
            public int Add(int a, int b)
            {
                return a + b;
            }
        }
  • 相关阅读:
    e667. 在给定图像中创建缓冲图像
    e661. 确定图像中是否有透明像素
    e673. Getting Amount of Free Accelerated Image Memory
    e663. 在gif图像中获取透明和色彩的数量
    e662. 取的图像的色彩模型
    e675. 翻转缓冲图像
    e665. 在图像中过滤三元色
    e679. 浮雕化图像
    e669. 绘制缓冲图像
    e664. 在图像中获取子图像
  • 原文地址:https://www.cnblogs.com/bomo/p/2866882.html
Copyright © 2011-2022 走看看