基础
using 关键字指明引用的命名空间
namespace 关键字声明一个命名空间
控制台的输入输出,使用Console类
int Console.Read() 读取输入的一个字符,并转化成ASCLL码
string Console.ReadLine() 读取输入的字符串
Console.WriteLine(内容); 打印内容到控制台
Console.Write(内容); 与上面的唯一区别就是这个不换行。
关于.WriteLine()方法还可以这么使用:
string Console.ReadLine("字符串内容{0}字符串内容{1}字符串内容",变量1,变量2);
上面的{0},{1}等价于C语言中的%d,它是占位符,与C语言不同的是,它不需要指定是什么类型,里面的0,1只是为了确定变量的顺序。
数据类型
变量
结构体类型,关键字struct
创建一个Student的结构体:
struct Student
{
public string name;
public int age;
}
想要创建一个Student的变量 s1 并对其中的成员赋值的一种语法:
Student s1 = new Student
{
age = 19,
name = "陈波智"
};
枚举类型的使用
枚举类型是我哪怕在其他语言中也是不太会用的。
它实际上是一组逻辑上密不可分的整数值提供便于记忆的符号
例如,申明一个代表星期的enum类型:
enum Week{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
};
创建一个Week的枚举变量
Week w1;
枚举它是一组限定,就是一个变量只能取某些确定好的值,某一个时刻只能是其中的一个值。
给 w1 赋值
w1 = Sunday;
系统默认emun类型每个元素值都是 int 型,且第一个元素从 0 开始,后面的元素依次加 1
为 emun 类型的元素所赋值的类型限定为long int short byte.等整数类型
C#还有一个对象类型,它的关键字是 object,这个类型的变量可以存放任意类型的数据,占用空间与具体数据类型有关。
常量
符号常量,关键字 const
它就i相当C语言中的宏
运算符
条件运算符:
布尔表达式 ? 表达式1 : 表达式2
它的原理是,先计算布尔表达式,如果为True,则将表达式1作为整个式子的值,如果为False,则将表达式2作为整个式子的值。
二维数组
二维数组语法和java,c都不太一样:
声明一个二维数组:
int [,] a = new int[2, 3]
它是只有一个[ ]符号,并且中间使用逗号隔开
类型转换
Convert 类
它是一个静态的类,可以直接调用其方法
对于是数值的字符串,可以使用下面的方法进行转换
类型.Prase(string)
DateTime 类
它提供一些静态方法用于得到日期等
面向对象
继承
类的继承语法:
Class 派生类名 : 基类名
{
}
它的语法不同于C和java,它中间是一个分号。
重载
重载就是在同一个类中,具有相同函数名,但函数参数个数不同或者参数类型不同的多个函数实现版本。
另外,静态方法不能重载。
运算符的重载
使用 operator 关键字,语法:
public static 返还类型 operator 运算符(类名 对象参数...)
{
实现重载的语句
}