Mono 引入试验性 C# 语言扩展

阅读数:1174 2009 年 12 月 30 日

话题:.NETC#语言 & 开发架构

在跟进微软 C# 4 的最新进展之后,Mono 团队开始考虑自己的语言扩展。他们试验的两个特性是字符串插值和多个返回值的支持。

字符串插值本质上是 String.Format 语法的快捷方式。字符串是通过占位符里的表达式来构建的,而不是显式调用哪个函数并提供包含多个占位符的字符串。比如说:

var a = 'Hello {name} how are you?';

注意,在 Miguel de Icaza 的这个例子里,字符串是由单引号而不是双引号包围的。Miguel 目前正在向 Python 和 Ruby 的用户征求这个特性的反馈意见,因为他认为他们更熟悉潜在的问题。

第二个语言扩展是元组(注:关系中的一行数据)的支持,也叫做多个返回值。对于返回元组的函数,它的补丁将会允许函数的调用和元组的解构在同一行里完成。

Tuple<string, string, string, int, string> ParseUri (string url);
  
(user, password, host, port, path) = ParseUri (url);

创建和返回元组看起来就像赋值语法。Miguel 也在考虑扩展这个特性以便支持数组切片、枚举(enumeration)以及诸如 DictionaryEntry 这样的老式元组。

查看英文原文:Mono Introduces Experimental C# Language Extensions