今天我们来分享一下VS视频中第五讲的内容,这篇的内容有些多,涉及到了字符串转换为整数的三种方式、continue的使用、三元表达式的使用、常量的定义、枚举的使用、结构体的使用、数组的定义与使用。

一、概念类

①、什么是枚举?

枚举是一组命名整型常量,枚举类型是使用enum关键声明的,关键字enum的全写为enumeration [ɪˌnju:mə'reɪʃn]。

C#枚举是值类型,枚举包含自己的值,且不能继承或者传递继承。

②、什么是结构体?

在C#中,结构体是值类型数据结构,他使得一个单一变量可以存储各种数据类型的相关数据。struct关键字用于创建结构体。

类是引用类型,结构体是值类型。

③、值类型与引用类型区别?

它们的区别在于使用的内存位置不同:值类型存储在栈上,而引用类型数据存储在堆上。

值类型直接包含值,变量引用的位置就是值在内存中实际存储的位置。

引用类型并不直接存储值,它们存储的是对一个内存位置的引用(内存地址),要去那个位置才能找到真正的数据。

 

lua 枚举能为字符串不 枚举和字符串_lua 枚举能为字符串不

④、什么是数组?

数组是一个存储相同类型元素的固定大小的顺序集合,数组是用来存储数据的结合,通常认为数组是一个统一类型变量的集合。

声明数组变量并不是声明num0,num1,num2.....num99一个个单独的变量,而是声明一个像nums这样的变量,然后使用num[0].....num[99]来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。

所有的数组都是有连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。(到此终于清晰的了解到数组为什么是属于引用类型了)。

lua 枚举能为字符串不 枚举和字符串_赋值_02

二、导图类

lua 枚举能为字符串不 枚举和字符串_值类型_03

三、代码类

①、字符串型转换为整数型--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();