C#教程2.1 值类型struct和enum

我们接着上节课程的说

从这节课开始 就开始减少使用图片的量= =!

先放代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace struct_enum
{
    class Program
    {
        static void Main(string[] args)
        {
            Fpicacho fpicacho = new Fpicacho();
            fpicacho.Age = 16;
            Console.WriteLine(fpicacho.aAge);//输出用户自定义值类型测试
            Console.WriteLine(Days.Monday);//输出枚举类测试
            Console.ReadKey();
        }

        struct Fpicacho //用户自定义值类型 命名为:F_picacho
        {
            public int Age; //年龄
            public string Name; //名字
            public string Gender; //性别
          
        }
        enum Days { Monday, Wednesday, Thursday, Friday, Saturday, Sunday, Tuesday } //枚举类型 星期天~星期一
    }
}


呐~先讲讲 struct//用户自定义值类型

其名曰:结构体

struct<定义的值类型名>{}   例如 :struct  Fpicacho

然后再里面添加一个public <类型> < 命名> 例如:

struct Fpicacho 
        {
            public int age;            
        }

 

问:public是什么?

答:public是一种访问修饰符

(在C#语言中 一共有四种访问修饰符 分别是 public丶private 丶internal丶proteced)

public 对外都是可见

private  是 私有的 只在当前类中可访问

internal 在这个命名空间内是可见的

proteced只有继承于这个类的才能访问 可见

在本章中 全部public就可以了(默认是private)

然后我们就完成了一个简单的struct(用于打包 封装一个数据集 也可以新建一个方法 事件等等 本章不做师范= =!(不是我懒等到class的时候再具体讲))

创建完成后我们就开始要调用它(在static void Main(string[] args){}中调用)

Fpicacho fpicacho = new Fpicacho(); //主意C#是区分大小写的

fpicacho.Age = 16;

Console.WriteLine(fpicacho.Age);

Console.ReadKey();

//然后调试

//这里我们要注意的是 我们的Age是一个int型 但是在WriteLine中VS娘(额应该是.net娘)他会自动帮你转换成string(字符串类型)然后输出到控制台中//(我不用解释在哪里添加把 然后输出 恩输出了16没错吧23333) //然后还有几个没有添加 当成作业 然后作业放到下面的回复 我会给你帮助的

然后就是枚举类型,关键字enum

enum <名称>{<内容组>}例如

enum Days { Monday, Wednesday, Thursday, Friday, Saturday, Sunday, Tuesday }
//然后就是调用

Console.WriteLine(Days.Monday);

//然后输出 我们发现他输出了Monday

问:那我还不如直接Console.WriteLine("Monday")//省的麻烦= =!;

答:枚举类型是可以规定一个变量的可能性 你星期可能出现星期八吗MDZZ= =!?

或者我们用变量定义一个day

var day = Days.Monday;

Console.WriteLine(day);

//然后我们调试输出的依然是Monday 注意var是.net3.5后出的一个新特性不管你声明的什么变量 int 还是 string 或者是一个 布尔值 (任何一个变量)都可以使用var来代替

//对于枚举类型我也可以进行强制转换 我把他转换成int型

Console.WriteLine((int)day);

//然后我们调试发现是0 诶这个星期一怎么变成0了 0.0

//在枚举类型中 默认第一个项目{ Monday, Wednesday, Thursday, Friday, Saturday, Sunday, Tuesday }Monday=0 Wednesday=1.....(以此类推)

//想让它强制默认从1开始的话就是这样

enum Days { Monday=1, Wednesday, Thursday, Friday, Saturday, Sunday, Tuesday } 

枚举类型默认对应整数型 我们也可以让他变为字节byte

enum Days:byte { Monday=1, Wednesday, Thursday, Friday, Saturday, Sunday, Tuesday }
(还有很多啦)

那关于struct和enum就说完成了 谢谢大家~
(诶?今天感觉好亢奋 QAQ马上就开学了)
感谢来自于zendee的蝶衣 节操 提供本章支持修改工作
还有AC_682提供的修改和补充~ 

本期教程资源:(打开可能会出现错误 请自行找到Program.cs文件进行打开):https://yunpan.cn/c6aLaZ7vRI326 (提取码:8199)

3 Comments

  1. 还有我的话,666

Comments are closed.