- namespace & using (package & import)
- using System.IO;
namespace Acme { class Customer { // ... } }
- using System.IO;
-
- Java 不允许在同一个源文件中出现多个包。而 C# 允许在一个 .cs 文件中出现多个命名空间
- 可以使用 using 关键字指定一个简称或别名,以提高代码的可读性。
- using DataTier = Acme.SQLCode.Client;
- class OutputSales
- {
- static void Main()
- {
- int sales = DataTier.GetSales("January");
- System.Console.WriteLine("January's Sales: {0}", sales);
- }
- }
- C# 引入结构的概念,结构是一种堆栈分配的复合数据类型,它不支持继承。在其他许多方面,结构与类非常相似。结构提供一种将相关字段和方法组合在一起的轻量方法,以便在紧凑循环和其他性能关键的方案中使用
- C# 使您能够创建一个在对类的实例进行垃圾回收前调用的析构函数方法。在 Java 中,可以使用 finalize 方法来包含代码,用于在将对象作为垃圾回收前清理资源。在 C# 中,此功能由类析构函数执行。析构函数就像是没有参数和前面不带颚化符 (~) 的构造函数。
- C# 中的所有基元数据类型都是 System 命名空间中的对象。对于每个数据类型,提供了一个简称(或别名)。例如,int 是 System.Int32 的简称,而double 是 System.Double 的简写。
- 因为 C# 将所有基元数据类型当作对象表示,所以可以在基元数据类型上调用对象方法。
- Java 使用 final 字段修饰符声明此类变量,而 C# 则使用 const 关键字。除了const 以外,C# 还提供 readonly 关键字以声明可以在运行时进行一次赋值(在声明语句中或在构造函数中)的变量。
- 下面的代码示例调用 Enum 类型的 GetNames 方法来显示枚举的可用常数。然后,将值分配给枚举,并显示此值。
-
class TestEnums { static void Main() { System.Console.WriteLine("Possible color choices: "); //Enum.GetNames returns a string array of named constants for the enum. foreach(string s in System.Enum.GetNames(typeof(Color))) { System.Console.WriteLine(s); } Color favorite = Color.Blue; System.Console.WriteLine("Favorite Color is {0}", favorite); System.Console.WriteLine("Favorite Color value is {0}", (int) favorite); }
}
String
-
- 在 C# 中,开发人员可以直接使用 == 或 != 运算符来比较字符串值。尽管在 C# 中字符串是引用类型,但在默认情况下 == 和 != 运算符将比较字符串值而不是引用。
- C#中也有StringBuilder