在一小时内学会 C#。使用例程,简单却完整的探索 C# 语言的构造和特点。本文特别适合有 C++ 基础却没有太多精力学习 C# 的读者。
关于作者
Aisha Ikram
我现在在英国一家软件公司任技术带头人。我是计算机科学的硕士。我主要使用 .NET 1.1/2.0, C#, VB.NET, ASP.NET, VC++ 6, MFC, ATL, COM/DCOM, SQL Server 2000/2005等。最近我在学习 .NET 3.x 的全部内容。我的免费源代码和文章网站是 http://aishai.netfirms.com
职业:团队带头人
位置:英国
简介
C# 是一种具有 C++ 特性,Java 样式及 BASIC 快速建模特性的编程语言。如果你已经知晓 C++ 语言,本文将在不到一小时的时间内带你快速浏览 C# 的语法。如果熟悉 Java 语言,Java 的编程结构、打包和垃圾回收的概念肯定对你快速学习 C# 大有帮助。所以我在讨论 C# 语言构造的时候会假设你知道 C++。
本文通过一系列例程以简短但全面的方式讨论了 C# 语言构造和特性,所以你仅需略览代码片刻,即可了解其概念。
注意:本文不是为 C# 宗师而写。有很多初学者的 C# 文章,这只是其中之一。
接下来关于 C# 的讨论主题:
? 编程结构
? 命名空间
? 数据类型
? 变量
? 运算符与表达式
? 枚举
? 语句
? 类与结构
? 修饰符
? 属性
? 接口
? 函数参数
? 数组
? 索引器
? 装箱与拆箱
? 委托
? 继承与多态
以下主题不会进行讨论:
? C++ 与 C# 的共同点
? 诸如垃圾回收、线程、文件处理等概念
? 数据类型转换
? 异常处理
? .NET 库
编程结构
和 C++ 一样,C# 是大小写敏感的。半角分号(;)是语句分隔符。和 C++ 有所区别的是,C# 中没有单独的声明(头)和实现(CPP)文件。所有代码(类声明和实现)都放在扩展名为 cs 的单一文件中。
看看 C# 中的 Hello World 程序。
复制内容到剪贴板
代码:
using System;
namespace MyNameSpace
{
class HelloWorld
{
static void Main(string[] args)
{
Console.WriteLine ("Hello World");
}
}
}
C# 中所有内容都打包在类中,而所有的类又打包在命名空间中(正如文件存与文件夹中)。和 C++ 一样,有一个主函数作为你程序的入口点。C++ 的主函数名为 main,而 C# 中是大写 M 打头的 Main。
类块或结构定义之后没有必要再加一个半角分号。C++ 中是这样,但 C# 不要求。
命名空间
每个类都打包于一个命名空间。命名空间的概念和 C++ 完全一样,但我们在 C# 中比在 C++ 中更加频繁的使用命名空间。你可以用点(.)定界符访问命名空间中的类。上面的 Hello World 程序中,MyNameSpace 是其命名空间。
现在思考当你要从其他命名空间的类中访问 HelloWorld 类。
复制内容到剪贴板
代码:
using System;
namespace AnotherNameSpace
{
class AnotherClass
{
public void Func()
{
Console.WriteLine ("Hello World");
}
}
}
现在在你的 HelloWorld 类中你可以这样访问:
复制内容到剪贴板
代码:
using System;
using AnotherNameSpace; // 你可以增加这条语句
namespace MyNameSpace
{
class HelloWorld
{
static void Main(string[] args)
{
AnotherClass obj = new AnotherClass();
obj.Func();
}
}
}
在 .NET 库中,System 是包含其他命名空间的顶层命名空间。默认情况下存在一个全局命名空间,所以在命名空间外定义的类直接进到此全局命名空间中,因而你可以不用定界符访问此类。
你同样可以定义嵌套命名空间。
Usin
1