博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#】隐式类型var
阅读量:6935 次
发布时间:2019-06-27

本文共 1090 字,大约阅读时间需要 3 分钟。

在.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;        }    }

 

转载地址:http://qbgjl.baihongyu.com/

你可能感兴趣的文章
Fastq-dump:我的日常命令
查看>>
vlayout 1.2.20 发布,阿里 LayoutManager 定制化布局
查看>>
访中科曙光智能计算技术总监许涛:重新认识面向未来的AI服务器和云计算中心...
查看>>
.NET 调用c++库注意事项
查看>>
重磅发布: 阿里云WAF日志实时分析上线 (含视频)
查看>>
深度|10分钟读懂阿里巴巴高级专家在Flutter Live2018的分享
查看>>
大规模深度学习预测场景下 codegen 的思考与应用
查看>>
spring框架使用Quartz执行定时任务实例详解
查看>>
全链路跟踪系统设计与实践(转载)
查看>>
支付接口教程,详解支付宝接口(二)
查看>>
SourceTree 教程文档(了解界面)
查看>>
wpf 依赖属性和附加属性
查看>>
rocketMq-producer介绍
查看>>
谨慎的Waymo CEO:未来几十年,自动驾驶无法做到无处不在
查看>>
Django搭建个人博客(二)
查看>>
SSM+maven实现答题管理系统(二)
查看>>
玩转报表排名
查看>>
SQL Server 默认跟踪(Default Trace)
查看>>
[剑指offer] 字符流中第一个不重复的字符
查看>>
平面上给定n条线段,找出一个点,使这个点到这n条线段的距离和最小。
查看>>