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结构体的函数构造构造函数没有返回值函数名必须和结构体名相同必须有参数如果申明了构造函数那么必须在其中对所有变量数据初始化不允许自己申明无参构造函数

相关新闻

最新新闻

绘本育儿认证班哪些人适合?

绘本育儿认证班哪些人适合?

绘本育儿认证班适合三类人。赶紧往下看文章,优秀的你肯定会发现总有一点与你匹配。第一类是0-8岁孩子家长。她们希望不只是给孩子读故事,而是通过绘本提升阅读兴趣、语言表达、逻辑思维、情绪管理和综合能力。第二类是绘本老师、馆长和幼教从业者。她们希…

2026/7/8 3:18:49
openclaw上多用户多Agent使用同一openclaw-weixin插件配置

openclaw上多用户多Agent使用同一openclaw-weixin插件配置

需求:用办公电脑做多人共用的openclaw助手。管理员配置技能,销售、售前通过微信调用技能干活。各人有自己的workspace目录,数据、会话互不干涉,互不影响。标准方案:核心前提openclaw-weixin 是单通道驱动,支…

2026/7/8 3:18:49
别再乱装优化软件!DDU 原厂 WTools 才是真专业

别再乱装优化软件!DDU 原厂 WTools 才是真专业

一、软件背景 Wagnardsoft 是海外知名Windows硬件/系统优化工具独立开发团队,圈内最出圈产品是 DDU(Display Driver Uninstaller,显卡驱动彻底卸载工具),玩家、运维、硬件维修圈公认权威工具开发商。 WTools&#xff…

2026/7/8 3:18:49
秋招·金九银十|牛客网Java八股文面试题汇总(2026版)

秋招·金九银十|牛客网Java八股文面试题汇总(2026版)

今年的行情,让招聘面试变得雪上加霜。已经有不少大厂,如腾讯、字节跳动的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言,甚至失去了难得的机会。 现如今,…

2026/7/8 3:18:49
阿里云国际代理商:2026 年 ECS 数据迁移 OSS 终极指南

阿里云国际代理商:2026 年 ECS 数据迁移 OSS 终极指南

对于从事跨境电商、企业官方网站或各类在线服务的管理者而言,是否经常面临云服务器磁盘空间不足的警报?是否因日志文件、设计素材的不断累积而拖慢了整个系统的运行效率?传统的数据备份方式是否既繁琐又存在安全隐患?如今&#xf…

2026/7/8 3:18:49
Meta入局算力租赁:是短期变现还是长期战略?能带来多少利润净增?

Meta入局算力租赁:是短期变现还是长期战略?能带来多少利润净增?

【Meta算力租赁消息引发市场波动】上周媒体报道Meta正在制定云基础设施业务,计划对外出租算力。这则新闻直接冲击了AI硬件和以Meta为主要客户的Neocloud,市场开始演绎“算力过剩”逻辑,悲观情绪蔓延,连近期基本面最硬的存储也难逃…

2026/7/8 3:13:49

月新闻