0
点赞
收藏
分享

微信扫一扫

c#数据类型

悲催博士僧 2022-04-26 阅读 68
c#

文章目录

一、枚举类型

1.定义

关键字:enum 主函数的外面,和主函数并列放置

namespace ConsoleApp1
{
    class Program
    {
        enum WeekDays { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

WeekDays不是变量,而是和int、double等一样的数据类型,该枚举类型的只能是七个枚举项之一,每个枚举项表面是一串字符串,实则关联着一个整数值,默认情况下第一项对应0,第二项对应1,依次递增,枚举项之间用逗号隔开。

2.声明和使用

 class Program
    {
        enum WeekDays { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
        static void Main(string[] args)
        {
            //声明枚举
            WeekDays today = WeekDays.Monday;

            if (today!=WeekDays.Saturday||today!=WeekDays.Sunday)
            {
                Console.WriteLine("打工人,打工魂");
            }
            else
            {
                Console.WriteLine("躺平中····");
            }
        }
    }

当然也可以用枚举项所关联的整数来赋值,或者参与运算、循环等,但必须进行显示转换

 //声明枚举
            WeekDays today =(WeekDays) 3;

二、结构体

1.定义

关键字:struct

    struct Info
    {
        public string name;
        public double age;
        public string phone;
        public string address;
    }
    class Program
    {	  
        static void Main(string[] args)
        {
            
        }
    }

2.声明和使用

    struct Info
    {
        public string name;
        public double age;
        public string phone;
        public string address;
    }
    class Program
    {      
        static void Main(string[] args)
        {
            Info info;
            info.name = "小白";
            info.age = 25;
            info.phone = "123-456789";
            info.address = "北京海淀";
        }
    }

三、数组

1.一维数组

声明方式:
第一种数组长度由初始化列表中的元素个数确定
第二种数组长度由new运算符后的数组决定

//第一种:直接赋值(例如:考试成绩)
int[] scores = {89,75,66,52,67,44 };
//第二种:只是声明一个数组而不进行初始化
string[] friendName = new string[3];

使用:第一种直接赋值应用

static void Main(string[] args)
        {
            //第一种:直接赋值(例如:考试成绩)
            int[] scores = {89,75,66,52,67,44 };           

            //计算成绩总和
            int sum = 0;            
            for (int i = 0; i < scores.Length; i++)
            {
                sum = sum + scores[i];
            }
            Console.WriteLine("六科总和为:{0}",sum);         
        }

第二种不直接进行初始化应用:

 static void Main(string[] args)
        {
            //第二种:只是声明一个数组而不进行初始化
            string[] friendName = new string[3];

            //赋值
            friendName[0] = "小小";
            friendName[1] = "白白";
            friendName[2] = "悠悠";

            Console.WriteLine("我有{0}位朋友:", friendName.Length);
            foreach (string name in friendName)
            {
                Console.WriteLine(name);
            }
        }

foreach语句只对数组 进行读取操作,不能通过迭代变量name修改元素的值

2.二维数组

声明方式:

static void Main(string[] args)
        {
            //第一种:直接赋值
            int[,] Matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

            //第二种:new运算符声明
            int[,] Matrix1 = new int[3, 3];

            //三维定义
            int[,,] Matrix2= new int[1, 2, 3];
        }

使用:第一种直接赋值

 static void Main(string[] args)
        {
            //第一种:直接赋值
            int[,] Matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

            //for循环输出这个矩阵
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.Write(Matrix[i, j] + "");
                }
                Console.Write("\n");
            }

            //foreach输出矩阵的值
            foreach (int number in Matrix)
            {
                Console.Write(number);
            }

        }

第二种:new运算符

static void Main(string[] args)
        {
            //第二种:new运算符声明
            int[,] Matrix1 = new int[3, 3];

            //赋值
            int num = 1;
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Matrix1[i, j] = num;
                    num++;
                    Console.Write(Matrix1[i, j]+" ");
                }
                Console.Write("\n");
            }
        }

3.可变数组

声明可变数组需要指定行数,不需要指定列数,初始化需要逐行进行

  static void Main(string[] args)
        {
            int[][] array = new int[2][];

            //初始化
            array[0] = new int[3] { 1, 2, 3 };
            array[1] = new int[4] { 1, 2, 3, 4 };

            foreach (int[] line in array)
            {
                foreach (int num in line)
                {
                    Console.Write(num);
                }
            }
        }
举报

相关推荐

0 条评论