C#:变量的更多内容

枚举:一种变量类型,用户定义一组可能的离散值,这些值可以用人们能理解的方式使用。

结构:一种合成的变量类型,由用户定义的一组其他变量类型组成。

数组:包含一种类型的多个变量,允许以索引方式访问各个数值。

1.1

隐式转换:从类型A到类型B的转换可在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换。 注:char类型是用数字表示Unicode字符集中的字符,其与ushort的存储方式相同,都存储0和65535之间的数字。所以ushort和char的值可以互相转换。

1.2 枚举

希望变量取一个固定集合中的值时,可以使用枚举类型。例如,让orientation类型存储north、south、east或west中的一个值,可以定义枚举类型orientation,然后声明orientation类型的变量。 定义枚举格式: enum <typeName>

                        { <value1>, <value2>, … <valueN>, }

声明这个新类型的变量: <typeName> <varName>; 赋值: <varName>= <typeName>.<value>;

eg:

默认情况下,每个值都会根据定义的顺序(从0开始),被自动赋予对应的基本类型值。即<value1>的值为0,<value2>的值为1,<value3>的值为2,等等。

可以使用赋值号=,指定每个枚举的实际值。

未赋值的任何值都会自动获得一个初始值,即从比上一个明确声明的值大1开始的序列。

eg:

1.3 结构

结构就是由几个数据组成的数据结构,这些数据可能具有不同的类型。根据这个结构,可以定义自己的变量类型。

例如:要存储从起点开始到某一位置的路径,路径由方向和距离值组成。定义路径这一结构,包含方向(可以用前面定义的枚举orientation表示)和距离值(可以用double表示)。

定义结构的格式: Struct <typeName> {    <结构的数据成员(即变量的声明)> }

1.4  数组概述

数组是一些具有相同类型的数据按一定顺序组成的序列。

在C#中,把一组具有同一名字、不同下标的下标变量称为数组。

一个数组可以含有若干个下标变量(或称数组元素),下标也叫索引 ,用来指出某个数组元素在数组中的位置。

数组中第一个元素的下标默认为0,第二个元素的下标为1,依次类推。所以数组元素的最大下标比数组元素个数少1,即如果某一数组有n个元素,则其最大下标为n-1。

如果只用一个下标就能确定一个数组元素在数组中的位置,则称该数组为一维数组。

由具有两个或多个下标的下标变量所组成的数组称为二维数组或多维数组。

数组元素在内存中是连续存放的。

C#中的数组类型可以对应任何数据类型。

1.4.1

1. 声明一维数组

声明一维数组的格式为:    访问修饰符 类型名称 [ ]数组名;

例如:int [ ]A;

数组在声明后必须实例化才可以使用。

实例化数组的格式为: 数组名称=new 类型名称[无符号整型表达式];

例如:A=new int[5];

使数组包含6个元素

例如:int []A=new int[6];

指定数组元素个数的“无符号整型表达式”,可以是一个常量表达式,也可以是一个变量表达式。

int Size=5; int []A=new int[Size];

数组一旦实例化,其元素即被初始化为相应的默认值。

1.5.2  声明多维数组

 声明多维数组时,用逗号表示维数,一个逗号表示二维数组,两个逗号表示三维数组,依次类推。 

二维数组:int [,]A=new int[2,2]{{1,2},{3,4}};

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 09:56:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 09:56:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 09:56:03       82 阅读
  4. Python语言-面向对象

    2024-04-25 09:56:03       91 阅读

热门阅读

  1. Kafka:分布式流处理平台的深度解析

    2024-04-25 09:56:03       35 阅读
  2. 【打工日常】解决docker对镜像pull的很慢的问题

    2024-04-25 09:56:03       33 阅读
  3. 禅道安装(非docker 版本)(一键部署版)

    2024-04-25 09:56:03       34 阅读
  4. 数据库的脏读、幻读、不可重复读

    2024-04-25 09:56:03       30 阅读
  5. Python 将Influxdb时序数据写入mysql库时遇到的问题

    2024-04-25 09:56:03       36 阅读
  6. spark知识点总结(1)

    2024-04-25 09:56:03       36 阅读
  7. 组合总和III(Lc216)——剪枝+回溯

    2024-04-25 09:56:03       24 阅读
  8. L2-4 吉利矩阵(优化剪枝版)

    2024-04-25 09:56:03       31 阅读
  9. 作为前端工程师如何SEO优化

    2024-04-25 09:56:03       31 阅读
  10. Unity 温度显示

    2024-04-25 09:56:03       34 阅读
  11. C# 预处理器指令详解与示例

    2024-04-25 09:56:03       33 阅读