今天我们来分享一下VS视频中第五讲的内容,这篇的内容有些多,涉及到了字符串转换为整数的三种方式、continue的使用、三元表达式的使用、常量的定义、枚举的使用、结构体的使用、数组的定义与使用。
一、概念类
①、什么是枚举?
枚举是一组命名整型常量,枚举类型是使用enum关键声明的,关键字enum的全写为enumeration [ɪˌnju:mə'reɪʃn]。
C#枚举是值类型,枚举包含自己的值,且不能继承或者传递继承。
②、什么是结构体?
在C#中,结构体是值类型数据结构,他使得一个单一变量可以存储各种数据类型的相关数据。struct关键字用于创建结构体。
类是引用类型,结构体是值类型。
③、值类型与引用类型区别?
它们的区别在于使用的内存位置不同:值类型存储在栈上,而引用类型数据存储在堆上。
值类型直接包含值,变量引用的位置就是值在内存中实际存储的位置。
引用类型并不直接存储值,它们存储的是对一个内存位置的引用(内存地址),要去那个位置才能找到真正的数据。
④、什么是数组?
数组是一个存储相同类型元素的固定大小的顺序集合,数组是用来存储数据的结合,通常认为数组是一个统一类型变量的集合。
声明数组变量并不是声明num0,num1,num2.....num99一个个单独的变量,而是声明一个像nums这样的变量,然后使用num[0].....num[99]来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。
所有的数组都是有连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。(到此终于清晰的了解到数组为什么是属于引用类型了)。
二、导图类
三、代码类
①、字符串型转换为整数型--TryParse方法
int age = 0; //定义整数类型变量age
Console.WriteLine("请输入数字"); //在控制台上写入内容
string strnum = Console.ReadLine(); //读取控制台上的内容,并将其赋予变量
bool result = int.TryParse(strnum, out age); //TryParse的值为布尔值
if(result) //如果结果为true,那么循环以下大括号内容
{
Console.WriteLine(age * 2);
}
else
{
Console.WriteLine("您输入的内容无法转换为数值");
}
Console.ReadKey();
②、三元表达式PK二元表达式(例:如果用户输入的姓名是“路飞”则显示“海贼王”,如果不是,则显示“船员”)
二元表达式(11行代码):
Console.WriteLine("请输入姓名"); //在控制台上写入内容
string name = Console.ReadLine(); //读取控制台内容,并将其赋值给变量name
if(name=="路飞") //如果name等于路飞
{
Console.WriteLine("海贼王"); //在控制台上写入:海贼王
}
else
{
Console.WriteLine("船员"); //否则,写入:船员
}
Console.ReadKey(); //控制台阅读键
三元表达式(4行代码):
Console.WriteLine("请输入姓名"); //在控制台上写入内容
string name = Console.ReadLine(); //读取控制台内容,并将其赋值给变量name
Console.Write(name == "路飞" ? "海贼王" : "船员"); //如果name等于路飞,在控制台上写入:海贼王;否则写入:船员。
Console.ReadKey(); //控制台阅读键
③、随机数
Random r = new Random(); //Random类的实例化
int num = r.Next(0, 10); //Next返回在指定范围内的任意随机数,0-10不包含10(0-9已经是10位了)
Console.WriteLine(num); //将num的值写入控制台
Console.ReadKey(); //控制台阅读键
④、枚举值与数字,与字符串之间的转换
namespace 枚举
{
public enum Gender //在namespace声明一个枚举,并给其赋值
{
男,女
}
public enum BanJi //在namespace声明一个枚举,并给其赋值
{
一班, 二班, 三班, 四班, 五班
}
class Program
{
static void Main(string[] args)
{//枚举值转int 类型,存入数字,写入数字将枚举值显示出来
BanJi banji = BanJi.四班; //BanJi的初值为一班,现在将四班赋值给枚举变量banji
int num = (int)banji; //将枚举值转为数字:banji的值为四班,而(int)banji的值为3,所以将3赋值给int变量num
BanJi h = (BanJi)3; //将数字转换为枚举值:通过数字来将枚举值赋值给枚举变量
Gender g= (Gender)(Enum.Parse(typeof(Gender), Console.ReadLine())); //将输入的字符串转换为枚举类型的值
Console.WriteLine(g); //将变量g写入到控制台上
Console.ReadKey(); //控制台读取键
}
}
}
⑤、结构体
namespace 结构体
{
public enum Gander //在namespace声明一个名为Gander的枚举
{
男, //枚举值
女
}
public struct Person //在namespace声明一个名为Person的结构体,一次性声明多个变量
{
public string _name; //结构体成员
public Gander _gander; //此处的变量为枚举类型
public int _age;
}
class Program
{
static void Main(string[] args)
{
Person lfPerson; // 定义结构体变量
lfPerson._name = "路飞"; //赋予lfPerson姓名
lfPerson._gander = Gander.男; //赋予lfPerson性别
lfPerson._age = 18; //赋予lfPerson年龄
}
}
}
⑥、数组
数组的四种声明方式:
int[] nums1 = new int[10]; //方法一:长度为10,元素为10,索引为0-9,int类型
int[] nums2 = new int[] { 1, 2, 3, 4, 5 }; //方法二:此数组就能存5个值,长度为5,元素为5,索引为0-4,int类型
int[] nums3 = new int[3] { 1, 2, 3 }; //方法三:长度为3,元素为3,索引为0-2
int[] nums4 = { 1, 2, 3, 4, 5 }; //方法四:长度为5,元素为5,索引为0-4
数组的存值与取值:
int[] nums = new int[5]; //定义数组
for (int i = 0; i < 5; i++) //设定循环的范围
{
nums[i] = 10+10*i; //向数组里赋值
Console.WriteLine(nums[i]); //从数组取值
}
Console.ReadKey();