C# 基础语法总结

2018-07-03  本文已影响40人  编号x71291

1 C# 是大小写敏感的
2 所有语句和表达是必须以分号结尾
3 程序的执行从Main方法开始

一个 C# 程序主要包括以下部分
1 命名空间声明
2 一个class
3 Class方法
4 Class属性
5 一个Main方法
6 语句(Statements) & 表达式(Expressions)
7 注释
8 using 关键字用于在程序中包含命名空间。

1 C# 数据类型

1 值类型变量可以直接分配给一个值
2 引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。
内置的 引用类型有:object、dynamic 和 string
3 指针类型变量存储另一种类型的内存地址

2 C# 类型转换

内置的转换方法是以To前缀的方法
例如
ToDateTime:把类型(整数或字符串类型)转换为 日期-时间 结构。
ToString:把类型转换为字符串类型。
ToDecimal:把浮点型或整数类型转换为十进制类型。

3 C# 变量和常量

一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。
定义常量 const <data_type> <constant_name> = value;

4 C# 特殊运算符 (基础运算符不做总结)

sizeof 返回数据类型的大小。
typeof() 返回 class 的类型。
& 返回变量的地址。

5 C# 判断和循环(判断不做总结,循环只需注意foreach循环)

使用foreach可以迭代数组或者一个集合对象。

6 C# 封装

一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:
public:所有对象都可以访问;
private:对象本身在对象内部可以访问;
protected:只有该类对象及其子类对象可以访问
internal:同一个程序集的对象可以访问;
protected internal:访问限于当前程序集或派生自包含类的类型。
注意:成员变量默认的访问类型是private

7 C# 方法传递参数

<Access Specifier> <Return Type> <Method Name>(Parameter List)
{
Method Body
}

按值传递参数
按引用传递参数
按输出传递参数

按值传递参数:实际参数的值会复制给形参,实参和形参使用的是两个不同内存中的值。
按引用传递参数:引用参数表示与提供给方法的实际参数具有相同的内存位置。在 C# 中,使用 ref 关键字声明引用参数。
按输出传递参数:return 语句可用于只从函数中返回一个值。但是,可以使用 输出参数 来从函数中返回两个值。输出参数会把方法输出的数据赋给自己,其他方面与引用参数相似。在 C# 中,使用 out 关键字声明输出参数。

注意: 提供给输出参数的变量不需要赋值。当需要从一个参数没有指定初始值的方法中返回值时,输出参数特别有用。

8 C# 可空类型单问号及双问号

? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的。
int? i = 3
等同于
Nullable<int> i = new Nullable<int>(3);
?? : 如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。
double? num1 = null;
double num3;
num3 = num1 ?? 5.34; // num1 如果为空值则返回 5.34

9 C# 数组 特殊方法

int[] list = { 34, 72, 13, 44, 25, 30, 10 };
// 逆转数组
Array.Reverse(list);
// 排序数组
Array.Sort(list);

10 C# 字符串 注意点

拼接字符串 + 符号
根据数组返回字符串 string message = String.Join(" ", array);
string.Format格式化日期
除去string.Format()可以对日期进行格式化之外,*.ToString()也可以实现相同的效果, 对象方法

11 C# 结构体

类和结构有有以下几个基本的不同点:

12 C# 枚举

枚举是一组命名整形常量。枚举是值类型。枚举不支持继承。
enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };

13 C# 类

1 类的默认访问标识符是internal,成员的默认访问标识符是private。
2 类的构造函数是类的一个特殊的成员函数,当创建类的新对象时执行。构造函数的名称和类的名称完全相同,它没有任何返回类型。
3 默认的构造函数没有任何参数。但是可以创建一个参数化构造函数,构造函数的名称和类的名称完全相同
4 类的析构函数是类的一个特殊的成员函数。在类的名称前加波浪形(~)作为前缀,它不返回值,也不带任何参数。不能继承或重载。
5 当我们声明一个类成员变量为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。static关键字
public static int num;
6 当我们声明一个类成员函数为静态时,这样的函数只能访问静态变量。静态函数在对象被创建之前就已经存在。static关键字
public static int getNum()
{
return num;
}

14 C# 继承及多种继承

使用接口interface来实现多重继承

15 C# 静态多态性

16 C# 动态多态性

17 C# 接口 interface

声明默认是public的
一个接口可以继承其他接口,而且实现类或结构体就需要实现所有接口的成员。

18 C# 命名空间

关键字 namespace,命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。
关键字using, 可以使用 using 命名空间指令,这样在使用的时候就不用在前面加上命名空间名称。该指令告诉编译器随后的代码使用了指定命名空间中的名称。

19 C# 异常处理

try...catch...finally
throw() 可以在 catch 块中使用 throw 语句来抛出异常

上一篇 下一篇

猜你喜欢

热点阅读