您现在的位置是: 软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > C#专区 > 正文


-FreeHand MX全新体验
-注册表知识群集
-Delphi经典编程100例
-PHP编程实录

Visual C# .NET 2003的改变
2003-05-08· · ··Microsoft

1 2  下一页

  摘要:为了与欧洲计算机制造商协会 (ECMA) 的 C# 规范完全兼容,Microsoft Corporation 对 C# 编译器的实现进行了几处改动。这些改动将在多方面影响现有的代码,因此用户必须检查他们的代码以确保这些代码符合 C# 编程语言必需的和推荐的使用要求。

  2001 年年底,ECMA 将 C# 编程语言批准为一项标准 (ECMA-334)。为了与 Microsoft 在 C# 和公共语言接口 (CLI) 标准化进程方面的举措保持一致,Microsoft 遵循 ECMA C# 标准的精神和文字规范对 C# 编译器进行了几处小的改动。另外,Microsoft 在遵循 C# 标准规范的同时对 C# 实现作了一些额外的小改动,并更正了 C# 程序员遇到的一些编译器问题和错误。其中的每处改动都可能导致使用 Visual C# .NET 2002 版编译器编写的代码在用于 Visual C# .NET 2003 之前必须进行修改。

  C# 语言的新功能

  Visual C# .NET 2003 版的 C# 语言中添加了两个新功能。第一,编译器现在支持 #line hidden 预处理器指令。#line hidden 指令主要用于源代码生成器,它通知编译器忽略紧跟在 #line hidden 指令后面的所有代码行的调试程序信息,直到遇到下一个 #line 指令为止(该 #line 指令的调试程序信息也一并被忽略),这里假设它们中间不会立即碰到下一个 #line hidden 预处理指令。在下面的示例中,编译器生成了 IL 代码,其中的 WriteLine 语句不包含调试信息。这样,调试应用程序的程序员将无法查看“隐藏”的代码并检查其中的内容:

public class Customer
{
public static void Main()
{
MyClass c = new MyClass();

c.ExecuteCommand();

#line hidden
Console.WriteLine("显示一些文字");
Console.WriteLine("显示一些文字");
Console.WriteLine("显示一些文字");
#line

c.ProcessCommand();

c.Close();
}
}

  然而,#line hidden 指令并不隐藏编译器错误。当然,编译器仍然将代码编译到IL中,且代码仍旧执行;编译器只是禁止调试程序进入它的内容。

  第二个 C# 新功能涉及 XML 注释,是根据 ECMA 标准添加的。C# 现在支持在使用“斜线和星号”符号(/* 和 */)编写的多行注释中添加XML注释。下面的XML 注释在 2003 版的 C# 编译器中是合法的:

/**

这是
注释


*/

  此外,出于完整性的考虑(但实际上绝不推荐),程序员可以混合并匹配注释样式,同时仍然能够编写出有效的 XML 注释代码。这样,下面的这个注释声明现在也是合法的:

/**
这是
注释
*/
///

1 2  下一页

■ 相关内容
 百万程序员的苦恼-选择VB.NET还是C#
 C#排序算法大全
 用C#实现语音技术
 Visual C#实现自定义组件的设计
 [C#学习]枚举系统安装的所有打印机
 C#下用P2P技术实现点对点聊天(2)
 C#下用P2P技术实现点对点聊天(1)
 [C#学习]在多线程中如何调用Winform
 用C#开发程序应用框架
 C#的四个基本技巧
 使用C#进行Word 2002和Excel 2002编程
 如何在C#中使用 Win32和其他库
 浅析Java与C#的事件处理机制
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!