C#简单笔记03:数组,unity学习路线,枚举类型,结构体

[Unity]遍历int类型枚举变量的结果 对枚举变量设置了不同的int数值的时候,实际上对应枚举变量的索引顺序发生了改变 普通枚举变量 ... int i=0; foreach (actionStr step in Enum.GetValues(typeof(test_enum))) { Debug.Log(" i:" + i + " step:" + step.ToString()+ "///(int)step:" + (int)step)... 阅读详情

一维数组

声明数组

datatype[] arrayName;
  • datatype 用于指定被存储在数组中的元素的类型。
  • [ ] 指定数组的秩(维度)。秩指定数组的大小。
  • arrayName 指定数组的名称。

初始化数组

声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。

数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。数组下标从0开始.

例如:

double[] balance = new double[10];

赋值给数组

您可以通过使用索引号赋值给一个单独的数组元素,比如:
double[] balance = new double[10];
balance[0] = 4500.0;

您可以在声明数组的同时给数组赋值,比如:
double[] balance = { 2340.0, 4523.69, 3421.0};

您也可以创建并初始化一个数组,比如:
int [] marks = new int[5]  { 99,  98, 92, 97, 95};
在上述情况下,你也可以省略数组的大小,比如:
int [] marks = new int[]  { 99,  98, 92, 97, 95};

您也可以赋值一个数组变量到另一个目标数组变量中。在这种情况下,目标和源会指向相同的内存位置:
int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

当您创建一个数组时,C# 编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int 数组的所有元素都会被初始化为 0。

访问数组元素

元素是通过带索引的数组名称来访问的。这是通过把元素的索引放置在数组名称后的方括号中来实现的。例如:

double salary = balance[9];

注意:使用"数组.Length"可获得数组的长度.以此在循环中控制数组循环遍历次数.

二维数组

二维数组可理解为二维表格.

二维数组语法:

声明: 数据类型[,] 数组名;

例如 :int [,] i; //声明二维数组i

声明并初始化: 数据类型[,] 数组名 = new 数据类型[行数,列数];

例如:  int[,] x = new int[3,4]; //声明1个3行4列的数组x.总元素为3*4=12个.注意每个维度下标从0开始.

            //定义了3行x4列的二维数组
            //注意每个维度下标从0开始
            int[,] num_array = new int[3, 4] {
                {1, 2, 3, 4 },
                {5, 6, 7, 8 },
                {9, 10, 11, 12 }
            };

            //双重for循环遍历二维数组,输出数组各元素值
            for (int i = 0; i < num_array.GetLength(0); i++)
            //num_array.GetLength(0).返回多维数组第1维长度
            {
                for (int j = 0; j < num_array.GetLength(1); j++)
                //num_array.GetLength(1).返回多维数组第2维长度
                {
                    Console.Write("num_array[{0},{1}]={2} ", i, j, num_array[i, j]);
                    //工整输出数组元素
                }
                Console.WriteLine();
            }

            //使用foreach循环遍历数组.简单简洁.
            //(但却无法获得元素下标,也无法手动控制循环)
            foreach (int num in num_array)
            {
                Console.WriteLine(num);
            }

更多参考:菜鸟教程数组参考 讲述C#数组更多特性

C# 数组细节(菜鸟教程)

在 C# 中,数组是非常重要的,且需要了解更多的细节。下面列出了 C# 程序员必须清楚的一些与数组相关的重要概念:

概念描述
多维数组C# 支持多维数组。多维数组最简单的形式是二维数组。
交错数组C# 支持交错数组,即数组的数组。
传递数组给函数您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
参数数组这通常用于传递未知数量的参数给函数。
Array 类在 System 命名空间中定义,是所有数组的基类,并提供了各种用于数组的属性和方法。

unity学习路线和课程

枚举类型

语法:

enum <枚举名称> { 枚举列表  };

枚举列表中的每个符号代表一个整数值,默认情况下(没有手动指定整数值),第一个枚举符号的值是 0,之后依次自动+1,例如:enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };

枚举值如果没有手动指定整数值,则默认第一个枚举值为0,之后的枚举值依次自动+1

注意:也可以手动指定枚举值为整数值.手动指定枚举值后,后续的枚举值如果没有手动指定整数值,则自动依次+1.

namespace ConsoleApp002
{    enum 农历 {
    //每个枚举值可手动指定整数值,
    //其后的枚举值若没有手动指定整数值,则自动依次+1
        元日 = 101,
        元宵节 = 115,
        龙抬头 = 202, 
        上巳节 = 303, 
        端午节 = 505,
        七夕节 = 707,
        中秋节 = 815,        
        除夕 = 1230
    }
    //切记!!!如果手动指定枚举值的整数值,
    //千万不要给不同的枚举值指定相同的整数!!!

    class Program
    {
        static void Main(string[] args)
        {
            农历 今天 = (农历)714; //强制将int类型转换为自定义的enum-农历类型
            string 信息;
            switch (今天)         //查看今天是否过节
            {
                case 农历.元日:
                    信息 = "今天是元日.";
                    break;
                case 农历.元宵节:
                    信息 = "今天是元宵节.";
                    break;
                case 农历.龙抬头:
                    信息 = "今天是龙抬头.";
                    break;
                case 农历.上巳节:
                    信息 = "今天是上巳节.";
                    break;
                case 农历.端午节:
                    信息 = "今天是端午节.";
                    break;               
                case 农历.七夕节:
                    信息 = "今天是七夕节.";
                    break;
                case 农历.中秋节:
                    信息 = "今天是中秋节.";
                    break;
                case 农历.除夕:
                    信息 = "今天是除夕.";
                    break;
                default:
                    信息 = "洗洗睡吧,今天不过节.";
                    break;
            }
            Console.WriteLine(信息);
            Console.ReadKey();
        }
    }
}

结构体

访问修饰符

public:所有皆可访问.

internal:在同一程序集的可访问

[struct不支持此访问修饰符]protected:保护的,仅在当前类或派生类可访问.

private:仅在当前类或结构可访问

struct访问修饰符可以为public和internal,默认为internal.

struct成员访问修饰符可以为public, internal, private.默认为private.

Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法(foreach/for) Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 目录 Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 一、简单介绍 二、实现原理 三、效果预览 四、实现步骤 一、简单介绍 Unity中的一些基础知识点。 本节简单整理在使用 枚举的时候,简单的方法,进行枚举值的遍历的简单整理,如果你有新的方式也可以留言,多谢。 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己... 阅读详情

相关推荐

【Unity 09】 C#二维数组、变长数组、枚举的声明及使用

PS:本系列笔记将会记录我此次在北京学习Unity开发的总体过程,方便后期写总结,笔记为天更。 笔记内容均为 自己理解,不保证每个都对。 C#笔记未按照难度排列 Part 1 二维数组: 四种声明方式及遍历: ``` //二维数组 4种定义方式与一维相同 int[,] tmpArraB = new int[2, 3]; //...

不积跬步,无以至千里 4029

Unity组合枚举的使用

【代码】Unity组合枚举的使用。

博客 789

unity enum是一个好东西

在 C#中, 枚举, 非常方便, 绝对是,简单,实用,无负作用, 我们举个例子, 假如,我们有很多类型, public const int TYPE_A = 1; public const int TYPE_B = 2; public const int TYPE_C = 3; 最开始,只有三个的时候,我们还好管理, 但是,随着类型的

JAROD_JIANGHE的博客 1万+

unity的C#学习——数组、字符串和结构体

介绍了c#中数组的定义与属性、方法;字符串的定义与属性、方法;结构体的定义与特点,同时简单对比了类和结构的区别。

时生的博客 4104

【Unity】史上最详细Unity3D入门学习教程_课程00_开篇目录

史上最强Unity入门小白教程

大阿新的博客 417

【Unitydemo制作】严肃类游戏制作——RTPR智慧精灵

👨‍💻🟥Unity个实战基础✨🟦 Unity个精华一记✨🟩 Unity个demo案例教程✨🟨 Unity个精华细节BUG✨。

秩沅 2319

Unity之C#学习笔记(13):枚举 Enums

前篇链接:Unity之C#学习笔记(12):属性 Properties 还记得大一学C语言时,学到一大半被指针和链表绕的稀里糊涂之后老师讲了枚举和联合,当时也不太理解有什么用,而且看着也不像考点子。后来开始写大一些的项目后才发现确实是很实用的。 枚举(Enums)的作用其实很简单,就是提高程序的可读性,可理解性。一个简单的例子:你要设计一个游戏关卡,关卡有可选的四种难度(简单、普通、困难和专家),如何描述?第一个想法:使用4个bool值,isEasy,isNormal…值为true代表选择了对应难度。但这样

アルタイル 1464

Unity-C#-遍历枚举,通过枚举对象获取枚举类型.txt

枚举参数与对象类型进行比较,判断是否属于同一类型

【Unity】1.3 Unity3D游戏开发学习路线

分类:Unity、C#、VS2015 创建日期:2016-03-23 一、基本思路 第1步--了解编辑器 首先了解unity3d的菜单,视图界面。这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用就可以了。当然还要了解人物基本的比例和结构。 第2步—了解基本概念 理解场景里面的坐标系统,输入系统,简单的向量概念。Unity3D的坐标系统及向量概念如果...

weixin_33921089的博客 289

LT9211 单路mipi转双路mipi芯片,方案成熟,提供技术支持

LT9211 单路mipi转双路mipi芯片

TEL15012949045的博客 5013

OpenFOAM-v2006重叠网格挖洞问题实战:如何手动修复overset代码中的边缘识别缺陷

本文深入探讨了OpenFOAM-v2006中重叠网格挖洞问题的实战解决方案,重点修复overset代码中的边缘识别缺陷。通过逆向工程解析挖洞决策机制,设计最小侵入式的函数override方案,并建立多级验证体系,有效解决了网格挖洞区域覆盖不全的问题,提升了计算流体动力学模拟的准确性和可靠性。

weixin_29216049的博客 430

记录贴_小雷的游戏程序之路_0_Unity3D学习资源总结

关键词:Unity3D入门、C#基础 本人是18年软工专业毕业的学渣。从2018年10月至今半年时间里,我开始了自学Unity3D引擎及游戏编程相关知识的旅程,立志做一名游戏程序员。最初的计划是大概4个月完成包括Unity3D引擎和C#的入门知识,并制作一个自己的游戏Demo,然后开始投简历找工作。然而转眼间半年过去了,由于在自学过程中发现自己不断的需要拓展知识,所以学习进度不如预期,目前游戏D...

lrfleroy的博客 307

AutoSar标准官网下载

AutoSar文档下载和文档命名格式。。。

m0_56208280的博客 3518

关于学习 unity3D 的知识预储备

——————— 整理自网络(链接),仅供学习参考! ——————— 1、新手学习unity3D的一些网站及相应学习路线 2、雨松MOMO 3、游戏蛮牛 4、擅码网 5、新人学习建议 6、INDIE NOVA游戏开发资源 unity3D 优势及学习路线 优势 部署简单自带IDE momoDevlope 跨平台,C#作为脚本支持 丰富的插件 海量资源教程 学习资源 ...

wangjun_huster的博客 1万+

OPTI Toolbox v2.28 安装与 3 个求解器补全:SCIP、SeDuMi、MOSEK 配置详解

本文详细介绍了OPTI Toolbox v2.28在MATLAB环境下的完整安装指南,包括SCIP、SeDuMi和MOSEK三个关键求解器的配置与优化技巧。通过分步指导和实战案例,帮助用户高效搭建强大的优化工具包,提升混合整数规划、二次约束二次规划等复杂问题的求解效率。

weixin_29039773的博客 350

电力电子课设救星:用Simulink实现Buck变换器双闭环控制(PID调参技巧)

本文是电力电子课程设计的实用指南,详细讲解如何利用Simulink仿真平台实现Buck变换器的电压电流双闭环控制。文章核心聚焦于PID参数整定的实战技巧,提供了从手动调试口诀到MATLAB脚本自动优化的完整方案,旨在帮助学生高效完成课设,深入理解闭环控制原理并生成专业报告。

weixin_29179311的博客 296

游戏开发值得学习的项目

游戏开发值得学习的项目 热更新 c# 开发加载Dll https://github.com/Ourpalm/ILRuntime lua 开发解释执行 https://github.com/Tencent/xLua 游戏引擎开发 类unity引擎 https://github.com/PanosK92/Directus3D ........................

南风的专栏 1576

拉曼光谱入门:5.表面增强与共振增强

拉曼散射效应因其弱信号特性限制了传统拉曼光谱术的检测灵敏度。为克服这一局限,表面增强拉曼光谱术(SERS)和共振增强拉曼光谱术(RRS)被开发出来,显著提升了信号强度。SERS通过金属表面的电磁和化学效应放大信号,而RRS则通过匹配激发光波长与分子电子跃迁波长来增强信号。这两种技术扩大了拉曼光谱的应用范围,尤其在低浓度和微量试样分析中表现出色,尽管在实验操作和试样损伤方面存在挑战。

qq_53529450的博客 1446

unity3d中对枚举的使用--高度提取接口方法

欢迎加入unity3d技术乐园群.群内讨论交流游戏制作和虚拟现实.我们在起航,没有任何保留的交流技术,创建一个技术乐园,携手共同发展.群号:106864335 这次讲下枚举的使用.  首要目的:平时为了制作一些通用工具,或者高度提取接口.并具有高度的可扩展性.就用到这些了. 枚举在提取接口的使用是非常方便的.单对于架构来说.用到枚举,就涉及到Switch遍历的使用.并且switch对

幻紫梦的博客 3710

SDA 还是 SDI:SAP HANA 数据虚拟化与数据集成的取舍、组合与实战

结论先放在前面:SDA 面向数据虚拟化与联邦查询,强调不落地、不复制、按需实时访问;SDI 面向数据集成与复制,强调抽取、转换、装载与近实时增量同步。两者共享 Remote Source 与 Adapter 的理念,但侧重点与运行时组件明显不同。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 583

【华为OD机试真题E卷】474、推荐多样性 | 机试真题+思路参考+代码解析(E卷复用)(C++、Java、Py)

题目描述 >推荐多样性需要从多个列表中选择元素,一次性要返回 N 屏数据(窗口数量),每屏展示 K 个元素(窗口大小),选择策略:   各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推   每个列表的元素尽量均分为 N 份,如果不够 N 个,也要全部分配完,参考样例图:

KJ.JK 4434

Unity 根据枚举展示不同内容(可操作数组类型版)

Unity editor 操作 代码如下: using UnityEngine; using UnityEditor; using System; using System.Collections; using System.Collections.Generic; [CustomEditor(typeof(CardAI))]//关联脚本 [CanEditMultipleObjects] public class EffectInspector : Editor { private struct E

LeaoJackson的博客 939

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C#简单笔记01:主函数,注释,变量常量数据类型,运算符和表达式,类型转换,字符串,控制台输入输出,关系运算和逻辑运算

蓝鸥科技C#简单笔记 视频:https://ke.qq.com/course/112228(腾讯课堂) https://chuanke.baidu.com/v4702151-162016-691420.html(百度传课) https://chuanke.baidu.com/v4702151-232177-1660900.html(百度传课) 主函数 main()函数是主函数. 一...

ishenjiaming的博客 1591

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: C#简单笔记02:if语句,switch语句,while和do-while语句,for语句,
下一篇: C#简单笔记04:类和对象,字段,方法,属性,值类型和引用类型,方法参数,字符串
申佳明哥哥
博客等级 码龄10年 39粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值