C#---第五课:特殊的数据类型:常量const、枚举enum、随机数、数组、结构体struct

本文介绍了C#编程中的常量const、枚举类型enum的使用,包括如何声明、赋值和类型转换,以及随机数生成、数组和结构体的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.常量const

  • const修饰的变量,代表这个变量是一个常量,不能再次改值。
  • 声明的时候,就需要赋值


const int number = 20;		


// number = 30;   	使用const修饰之后,就不能再修改值了

Console.WriteLine(number);




2.枚举类型enum

  • Console.WriteLine(gender)这个是顶级程序语句(Top-Level Programs),需要在枚举类型之前使用,否者会报错!
  • 大括号中的变量,无论是字符串、INT、或其他类型可直接写

Gender gender = Gender.;
Console.WriteLine(gender);
Console.ReadKey();



// 声明并对枚举类型Gender赋值,这要在Console类使用之后声明
public enum Gender
{,}

在这里插入图片描述



3.将int类型转换为枚举类型

  • 枚举类型一般都是多个值,可以理解为有索引,每个索引代表不同的元素。注意,只是方便理解!!!

int i = 1;				// i的值是1,可以理解为是枚举中的第二个元素的索引

Status st = (Status)i;	// 将变量i强制转换为枚举类型Status,需要在被转换的变量之前,使用(Status)

Console.WriteLine(st);
Console.ReadKey();  


public enum Status
{
    OnLine,
    Offline,
    Leave,
    Busy
}

// Offline			// 将枚举中的第二个元素转换为Offline



4.将string类型转换为枚举类型


Enum.Parse()   // 将某个数转为枚举类型


//int.parse  & decimal.parse 可以将某个数转为不同的数据类型


string str_Status = "2";

Status type = (Status)Enum.Parse(typeof(Status),str_Status);

Console.WriteLine(type);
Console.ReadKey();  


public enum Status
{
    OnLine,
    Offline,
    Leave,
    Busy
}


// Leave

  • 如果str_Status = “8”,则最终的结果是将8直接传递给type,因为枚举中没有这么大的索引.
  • 如果str_Status = “A”,对应的是非数字的字符串,则会报错

在这里插入图片描述



5.生成随机数


/// <summary>
/// 随机生成10个数,每个数的区间为[1, 10]
/// 
/// </summary>


for (int i = 0; i < 10; i++)
{

    Random r = new Random();
    int rNumber = r.Next(1, 11);        // 此处是左闭右开
    Console.WriteLine(rNumber);

}
Console.ReadKey();


//8
//4
//10
//7
//7
//4
//1
//2
//6
//2




6.数组

// 命名方式一:线声明数组(包含长度)再对每个元素赋值

int[] nums = new int[10];     // 此时虽然没有对数组的元素进行赋值,但是每个元素默认都是0

nums[0] = 3;
nums[2] = 4;

for (int i = 0; i < nums.Length; i++)
{

    Console.WriteLine(nums[i]);

}
Console.ReadKey();



3
0
4		// index=2的元素
0
0
0
0
0
0
0

// 命名方式二:声明数组的时候,直接确定了这个数组的元素


int[] newNums = { 1, 3, 5, 7, 9, 11 };


for (int i = 0; i < newNums.Length; i++)
{

    Console.WriteLine(newNums[i]);

}
Console.ReadKey();


//1
//3
//5
//7
//9
//11



7.结构体

  • 结构体可将不同的数据类型组合成一个新的类型,这个类型还保留各个数据类型的特性。


Person alien;
alien._Name = "Alien";
alien._gender = Gender.;
alien._Age = 18;

Console.WriteLine("此人的基本信息为, 姓名:{0}, 性别:{1}, 年龄:{2}",alien._Name, alien._gender, alien._Age);
Console.ReadKey(true);



// 注意,结构体还需要在顶级函数之后声明!!!
//1.结构体中,字段之前需要使用public,代表这个字段是全局的,结构体名称在其他位置也能调用到里面这个字段
//2.结构体中,字段之前加上下划线_,代表这个是字段的含义,与普通的变量做个区分。字段一般是类的属性、结构体的属性等
//3.结构体重,也可以使用枚举类型;
struct Person
{
    public string _Name;
    public int _Age;
    public Gender _gender;

}

public enum Gender
{,}


// 此人的基本信息为, 姓名:Alien, 性别:男, 年龄:18


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello-alien

您的鼓励,是我最大的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值