WEB开发网
开发学院软件开发C语言 在 C# 4.0 中使用动态关键字 阅读

在 C# 4.0 中使用动态关键字

 2010-09-30 22:45:49 来源:WEB开发网   
核心提示: 不过,就动态和静态(也可以说是强和弱)等属性而言:目前与应用到整个编程语言相比,在 C# 4.0 中使用动态关键字(2),应用到语言的各个功能效果更好,让我们大致考察一下 Python 和 PHP,这种情况下即可使用动态关键字来简化某些操作,采用动态方式书写的代码更易于读写,这两者都是动态语言,

不过,就动态和静态(也可以说是强和弱)等属性而言:目前与应用到整个编程语言相比,应用到语言的各个功能效果更好。

让我们大致考察一下 Python 和 PHP。这两者都是动态语言,可供您使用变量,并提供了运行时环境,可获知实际存储在其中的类型。不过如果使用 PHP,您可以在同一作用域的同一变量中同时存储整数和字符串等等。从这一意义上讲,PHP(类似于 JavaScript)是一种弱类型化的动态语言。

与之相对,Python 只会给您一次机会来设置变量类型,这使得它更贴近强类型化。您可以对变量动态指定类型,并由运行时环境从指定值推断其类型。不过,在此之后,您不能在此变量中存储任何不当类型的值。

C# 中的动态类型

C#4.0 所拥有的功能使其兼具动态和静态以及弱类型化和强类型化这两种特点。C# 原本属于静态类型化语言,但在使用动态关键字的任何上下文中,它都可以成为动态类型化语言,如下所示:

dynamic number = 10; 
Console.WriteLine(number);

而且因为动态关键字是上下文关键字,而不是保留关键字,如果您有现有变量或由方法命名的动态关键字,这一点仍然成立。

请注意,C#4.0 不强制您使用动态关键字,就像 C#3.0 不强制您使用 var、lambda 或对象初始值一样。C#4.0 提供了新的动态关键字,专门用于简化对一些众所周知的情形的处理。这种语言尽管有能力以更有效的方式与动态对象互动,从本质上讲它仍然属于静态类型化语言。

为什么要使用动态对象?首先,您可能不知道正在处理的对象的类型。对于如何确定给定变量的静态类型,您可能有线索,但却拿不准:这种情况非常常见,例如当您处理 COM 对象或使用反射来抓取实例时,就会发生这种情况。这种情况下即可使用动态关键字来简化某些操作。采用动态方式书写的代码更易于读写,这样便于理解与维护应用程序。

上一页  1 2 3 4  下一页

Tags:使用 动态 关键字

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接