一.C#程序结构
using System; 例如: using System;
namespace 空间名 namespace HelloWorld
{ {
class 类名 class HelloWorld
{ {
static void Main() static void Main()
   { {
主函数体 Console.WriteLine("Hello,world");
} }
} }
} }
二.数据类型
整数: byte short int long 浮点: float double 货币:decimal
字符:char 布儿:bool 字符串:string
三.语法格式
1.方法
(1).方法语法
[特性][访问修饰符][返回类型]名字() 例如: public void a1()//无返回,无参数
{ {
  方法体 }
}
                          public int a2(int a,int b) //返回整型,两个输入参数
{
return 10;
}
(2).方法重载
重载方法必须满足以下条件
1.方法名相同。 2.方法的参数类型、个数、顺序至少有一项不相同。
3.方法的返回类型可以不相同。 4.方法的修饰符可以不相同。
例如:
public void b(); public void b (double a); public void b (float a);
public int b (double a); public double b (float a); private void b (int a);
2.数组
(1).一维数组
类型[ ] 数组名=new 类型[长度]; 数组名[下标]=值;
例如: int[ ] a=new int[2]; a[0]=10; a[1]=20;
类型[ ]数组名=new 类型[长度] {值列表};数组长度可以省略
例如: int[] age=new int[5]{20,21,22,23,24};
(2).二维数组
类型[,] 数组名=new 类型[行长度,列长度]; 数组名[行下标,列下标]=值;
例如: int[,] a=new int[2,2]; a[0,0]=10; a[0,1]=20; a[1,0]=30; a[1,1]=40;
类型[,] 数组名=new 类型[行长度,列长度 ]{各行值列表};
例如: int[,] age=new int[2,2]{{20,21},{22,23}};
3.foreach循环的使用
foreach(数组数据类型 循环变量名in 数组名) 例如: foreach(string i in name)
{ Console.WriteLine(循环变量名); } { Console.WriteLine(i); }
4.枚举( enum)
(1).枚举语法
enum 枚举名
{ 枚举成员1, 枚举成员2,……,枚举成员n }
例如: enum week
{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
(1).枚举访问
static void Main()
{ int q;
q=(int)week.Sunday;
string w;
w=Convert.ToString(week.Saturday);
Console.WriteLine(q); 输出:
Console.WriteLine(w); 6
} Saturday
5.类
[特性][访问修饰符]class 标示符[:基类] 例如: public class Dog:Animal
{ {
[成员变量] public int iAge
[成员方法] public void Run() { }
} }
6.属性(get访问器,set访问器)
[属性修饰符] 属性的类型 属性名称{方法声明}
例如: private int a;
public int b
{ get
{return a; }
set
{ if(value>=0) {a=value;}
else {a=0;}
}
7.多态
1.面向对象的语言使用虚方法表达多态。
2.这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法
3.在Java中,缺省情况下方法就是虚的。在C#中,必须使用virtual关键字才能使方法被父类调用。
4.在C#中,还需要override关键字以指明一个方法将重载(或实现一个抽象方法)其父类的方法。
例如: class B {public virtual void f(){}}
class D : B {public override void f() {Console.WriteLine("你好");}
class Test
{ static void Main( )
{ D d=new D( ); d.f(); }
}
8.接口
[访问修饰符] interface 接口名 例如:
{ public interface IFil
[抽象方法1] {
[抽象方法2] int delFile();
……………… void disFile();
[抽象方法n] }
}
9.结构体
struct结构体名 例如: struct MyCat
{ {
  [成员变量] public int iAge;
  [成员方法] public string strName;
} public MyCat(int age, string name)
{ iAge = age;
strName = name;
}
                         }
四.修饰符
1.访问修饰符
Public:公有成员 Private:私有成员,只能在本类里调用
Protected:继承后,实例调用 Interma:内部成员的公有
2.静态和非静态成员
class Man{
public int Age; //非静态定义
public static string Name; //静态定义
public void Eat(){} //非静态定义
public static void Sleep(){} //静态定义
}