1 第一个C#程序
using System; //导入名空间
class test // 类名
{
static void Main() // 函数名,主函数是程序入口点
{
int x = 12 * 30; //语句1
Console.WriteLine(x); //语句2
Console.ReadKey(); //语句3
} //函数结束
} //类结束
C#的编译器名叫csc.exe.我们还可以用集成开发环境IDE,比如visualStudio来编译我们的C#程序。
csc myFirstProgram.cs
或者编译成库.dll
csc /target:library MyfirstProgram.cs
2 语法
C#的语法受C和C++语法的启发,比较接近。用下面的程序描述C#语法的基本要素:
using System;
Class Test
{
static void Main()
{
int x = 12 *30;
Console.WriteLine(x);
}
}
2.1 标识符和关键字
标识符是程序员给类、方法和变量起的名字。比如在例子程序中,它们出现有:
System Test Main x Console WriteLine
C# 标识符与C语言一样也是大小写敏感的。
关键字是编译器保留下,不能够用作一般标识符。例子中的关键字有:
using class static void int
下面是C#中所有的关键字:
abstract do in protected true
as double int public try
base else interface readonly typeof
bool enum internal ref uint
break event is return ulong
byte explicit lock sbyte unchecked
case extern long sealed unsafe
catch false namespace short ushort
char finally new sizeof using
checked fixed null stackalloc virtual
class float object static void
const for operator string volatile
continue foreach out struct while
decimal goto override switch
default if params this
delegate implicit private throw
2.2 避免冲突
有时候确实需要用到与关键词一样的标识符,这样就会产生冲突,我们可以在前面加一个@符号前缀,比如,
class class {...} //非法
class @class {...} //合法
2.3 上下文关键字
有些关键字是基于上下文的,也就是说可以同时用于一般标识符而不必额外添加@符号,它们有:
add dynamic in partial where
ascending equals into remove yield
async from join select
await get let set
by global on value
desending group orderby var
2.4 文字,标点与操作
数字是程序的数字部分,比如例子程序中用到两个数字12与30;
标点有助于程序结构的分析,比如在例子程序用到
{ } ;
大括号可以将多个语句合成一个语句块;
分号终止一个语句。
语句可以多行表示。
一个操作可以转换和组合表达式,比如
. () * =
2.5 注释
分为单行注释//与多行注释/**/,跟c与C++一样
int x=3; // 将3赋值给变量x
int x=3;/*将3赋值
给变量x*/
3 类型基础
类型定义了一个值的蓝图。我们可以用int 类型的值常数,也可以用int类型的变量。
变量声明了一个存储不同值得存储空间;常量一般存储同样得的值。
int x = 12*30; //变量
const int y =360; //常量
C#中的所有值都是类型的实例。可以把类型理解为值的值域。
3.1 预定义类型例子
- int
int x = 12;
- string
string message = "Hello world";
- bool
bool simpleVar = false;
在C#中预定义类型就是指的内置类型,可以由C#的关键字识别。在.NET框架中的system名空间中还有很多重要的类型不是预定义的,比如DateTime。
3.2 客制化(自定义)类型例子
using System;
public class UnitConverter
{
int ratio;
public UnitConverter (int unitRatio) {ratio = unitRation;}
public int Convert (int unit) {return unit * ratio;}
}
class Test
{
static void Main()
{
UnitConverter feetToInchesConverter = new UnitConverter(12);
Console.WriteLine(feetToInchesConverter.Convert(30));
}
}
3.3 类型的成员
类型包含数据成员与方法成员。
上面的例子中UnitConverter
数据成员ratio
方法成员有:
1)Convert
2)UnitConvert,也是构造函数
3.4 内置类型与自定义类型的相似性
C#一个美丽之处就是内置内型与自定义类型并没有多大差别。
比如int 类型它容纳32位的数据,并且提供操作这个数据的函数,比如ToString。
类似的UnitConverter类型给单位转换用的一个蓝图。有成员数据ratio,且有成员函数来使用ratio。
3.5 构造函数与实例化
4 数字类型
5 布尔类型和操作
6 字符串和字符
7 数组
8 变量和参数
9 表达式和参数
10 申明
11 名空间