C# var关键字
var 是3.5新出的一个定义变量的范例:隐式范例;它可用来定义隐式范例的局部变量,VAR可替代任何范例。
隐式范例变量是在未明白指定数据范例的情况下声明的变量。在隐式范例变量中,编译器在编译时从用于初始化变量的值自动推导出变量的范例。隐式范例变量观点是在C#3.0中引入的。隐式范例变量不是为了替代一般变量声明而设想的,它旨在处置惩罚一些特殊情况,如LINQ(言语集成查询)。
示例:
using System; class A{ // Main要领 static public void Main() { // 运用var关键字建立和初始化隐式范例变量 var a = 'f'; var b = "php"; var c = 30.67d; var d = false; var e = 54544; // 输出范例 Console.WriteLine("'a'的范例是: {0} ", a.GetType()); Console.WriteLine("'b'的范例是: {0} ", b.GetType()); Console.WriteLine("'c'的范例是: {0} ", c.GetType()); Console.WriteLine("'d'的范例是: {0} ", d.GetType()); Console.WriteLine("'e'的范例是: {0} ", e.GetType()); } }
输出:
'a'的范例是: System.Char 'b'的范例是: System.String 'c'的范例是: System.Double 'd'的范例是: System.Boolean 'e'的范例是: System.Int32
C# dynamic关键字
dynamic是4.0新出的一个定义变量的范例:动态范例;它用于防止编译时范例搜检。编译器在编译时不搜检动态范例变量的范例,相反,编译器在运行时猎取范例。动态范例变量是运用动态关键字建立的。
示例:
using System; class A { // Main要领 static public void Main() { // 运用dynamic关键字建立和初始化隐式范例变量 dynamic val1 = 'a'; dynamic val2 = "hello"; dynamic val3 = 3234; dynamic val4 = 32.55; dynamic val5 = true; // 输出范例 Console.WriteLine("val1的现实范例是:{0}", val1.GetType().ToString()); Console.WriteLine("val2的现实范例是:{0}", val2.GetType().ToString()); Console.WriteLine("val3的现实范例是:{0}", val3.GetType().ToString()); Console.WriteLine("val4的现实范例是:{0}", val4.GetType().ToString()); Console.WriteLine("val5的现实范例是:{0}", val5.GetType().ToString()); } }
输出:
val1的现实范例是:System.Char val2的现实范例是:System.String val3的现实范例是:System.Int32 val4的现实范例是:System.Double val5的现实范例是:System.Boolean
C#中关键字var和dynamic的区分是什么?
1、声明的变量
关键字var是在C#3.0中引入的,声明的变量是静态范例的,变量的范例由编译器在编译时决议。
关键字dynamic是在C#4.0中引入的,声明的变量是动态范例的,变量的范例由编译器在运行时决议。
2、初始化
关键字var声明的变量应在声明时初始化,如许编译器就会依据初始化的值来决议变量的范例。假如变量未初始化,则抛出毛病。
关键字dynamic声明的变量在声明时不需要初始化此范例的变量,由于编译器在编译时不知道变量的范例。假如变量未初始化,也不会抛出毛病。
3、intelliSense的支撑
关键字var支撑visual studio中的intelliSense。关键字dynamic不支撑visual studio中的intelliSense
4、运用
关键字var不能用于属性或从函数返回值。它只能用作函数中的局部变量。
关键字dynamic能够用于属性或从函数返回值。
以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!
以上就是C#中var和dynamic之间的区分是什么?的细致内容,更多请关注ki4网别的相干文章!