c sharp基础
数据类型无符号变量byte、ushort、uint、ulong有符号变量sbyte、shor、int、long浮点数float、double、decimal特殊类型bool、char、string枚举概念枚举是整形常量的集合。枚举名以 E 或者 E_ 开头作为命名规范enum E_Numbers{ number1 3,//默认值为3 number2,//默认值为4 number3;//默认值为5递增 }申明枚举namespace语句块中常用class语句块中、struct语句块中枚举不能再函数语句块中申明使用枚举E_Numbers Number E_Numbers.number1; //结合switch switch(Number){ case E_Numbers.number1: break; case E_Numbers.number2: break; case E_Numbers.number3: break; }枚举的类型转换枚举和int转换int i (int)Number;int 转枚举Number 3枚举和string相互转换string str Number.ToString();传的是number1 string转换成枚举Number (E_Number)Enum.Parse(typeof(E_Number), Other);把原本的number1转化成Other枚举的作用在游戏开发中对象有很多的时候会有许多的状态。比如玩家有一个动作状态我们需要用一个变量或标识来表示当前玩家处于哪种状态。综合考虑可能会用int来表示状态。1 行走 2 待机 3 跑步 4 跳跃数组一维数组int[] arr1; int[] arr2 new int[5]; int[] arr3 new int[5]{1,2,3,4,5}; int[] arr4 new int[]{1,2,3,4,5,6}; int[] arr5 {1,2,3,4,5};数组长度array.Length数组元素array[0]二维数组int[,] arr1; int[,] arr2 new int[3,3]; int[,] arr3 new int[3,3]{ {1,2,3}, {4,5,6}, {7,8,9}}数组长度行array.GetLength(0);列array.GetLength(1)数组元素array[0,1]交错数组int[][] arr1; int[][] arr2 new int[3][]; int[][] arr3 new int[3][]{new int[]{1,2,3}, new int[]{1,2,3}, new int[]{1,2,3}};数组长度行array.GetLength(0);某一行的列array[0].Length数组元素array[0][1]值类型和引用类型引用类型string、数组、类值类型其他、结构体数组int arr2[] arr1当改变arr2时arr1改变stringstring str2 str1当改变str2时str1不变函数函数创建class语句块中struct语句块中ref和out可以在函数内部改变外部传入的内容Refref传入的变量必须初始化out不用。static void ChangeValueRef(ref int value){ //value 3; } static void ChangeArrayRef(ref int[] arr){ arr new int[] {10,20,30}; } //调用 static void Main(string[] args){ int a 1; int[] arr1 {1,2,3}; ChangeValueRef(ref a); ChangeArrayRef(ref arr1); }Outout传入的变量必须在内部赋值ref不用static void ChangeValueOut(out int value){ value 3; } static void ChangeArrayOut(out int[] arr){ arr new int[] {10,20,30}; } //调用 static void Main(string[] args){ int a; int[] arr1; ChangeValueOut(out a); ChangeArrayOut(out arr1); }变长参数和参数默认值变长参数 paramsparams int[]意味着可以传入n个int参数n可以等于0传入的参数会存在arr数组中。static int Sum (params int[] arr) { int sum 0; for(int i 0; i arr.Length; i){ sum arr[i]; } return sum; }注意params关键字后面必为数组。数组的类型可以是任意类型。函数参数可以有别的参数和params关键字修饰的参数。函数参数中只能最多出现一个params关键字并且一定是在最后一组参数前面可以有n个其他参数。参数默认值有参数默认值的参数一般称为可选参数作用是 当调用函数时可以不传入参数不传就会使用默认值作为参数的值。static void Speak(string str 我是默认值){}注意支持多参数默认值每个参数都可以有默认值。如果要混用可选参数必须写在普通参数后面。函数重载同一个函数名不同参数结构体与类的区别C sharp 核心 结构体和类的区别概念用来表现存在关系的数据集合比如用结构体表现学生 动物 人类等一般写在namespace语句块中结构体关键字structstruct 自定义结构体名{ //变量 //构造函数 //函数 }struct Student{ //结构体申明的变量不能够直接的进行初始化 //变量类型 可以写任意类型 包括结构体 但是不能时自己的结构体 //Student s; 报错不能时自己的结构体 S s //在结构体方法中目前不需要加static关键字 void Speak(){ //函数中可以直接使用结构体内部申明的变量 Console.WriteLine(s); } }访问修饰符public 外部使用private默认不写为private结构体的函数构造构造函数没有返回值函数名必须和结构体名相同必须有参数如果申明了构造函数那么必须在其中对所有变量数据初始化不允许自己申明无参构造函数

相关新闻