C#自学12—常量+枚举及其与int,string转换+结构

1、常量
声明的常量的语法:
const 变量类型 变量名=值;

static void Main(string[] args)
        {
            int number = 10;
            number = 20;//体现了变量可以被重新赋值

            const int numberTwo = 50;//常量 不能够被重新赋值
            //numberTwo = 90;
        }

2、枚举
语法:
[public] enum 枚举名
{
值1,
值2,
值3,

}
public:访问修饰符。公开的公共的,哪都可以访问。
enum:关键字,声明枚举的关键字
枚举名:要符合Pascal命名规范

将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。

枚举就是一个变量类型 ,int–double string decimal.只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。

我们可以将一个枚举类型的变量跟int类型和string类型互相转换。枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。

枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().如果将字符串转换成枚举类型则需要下面这样一行代码:(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),“要转换的字符串”);如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。如果转换的字符串是文本,如果枚举中没有,则会抛出异常。

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

namespace _04枚举和int以及string类型之间的转换
{
    public enum QQState
    {
        OnLine=1,
        OffLine,
        Leave,
        Busy,
        QMe
    }

    public enum Gender
    {,}
    class Program
    {
        static void Main(string[] args)
        {
            #region 将枚举类型强转成int类型
            //QQState state = QQState.OnLine;
            枚举类型默认可以跟int类型互相转换  枚举类型跟int类型是兼容的
            //int n = (int)state;
            //Console.WriteLine(n);
            //Console.WriteLine((int)QQState.OffLine);
            //Console.WriteLine((int)QQState.Leave);
            //Console.WriteLine((int)QQState.Busy);
            //Console.WriteLine((int)QQState.QMe);
            //Console.ReadKey();
            #endregion
            #region 将int类型强转为枚举类型

            //int n1 = 3;

            //QQState state = (QQState)n1;
            //Console.WriteLine(state);
            //Console.ReadKey();
            #endregion
            #region 将枚举类型转换成字符串类型
            //所有的类型都能够转换成string类型
            // int n1 = 10;
             double n1 = 3.14;
            // decimal n1 = 5000m;
            // string s = n1.ToString();
            // Console.WriteLine(s);
            // Console.ReadKey();

            //QQState state = QQState.OnLine;
            //string s = state.ToString();
            //Console.WriteLine(s);
            //Console.ReadKey();
            #endregion
            #region 将字符串类型转换为枚举类型
            //string s = "ABCDEFG";
            将s转换成枚举类型
            Convert.ToInt32()  int.parse()  int.TryParse()
            调用Parse()方法的目的就是为了让它帮助我们将一个字符串转换成对应的枚举类型
            
            //QQState state = (QQState)Enum.Parse(typeof(QQState), s);
            //Console.WriteLine(state);
            //Console.ReadKey();
            #endregion

3、结构
可以帮助我们一次性声明多个不同类型的变量。
语法:
[public] struct 结构名
{
成员;//字段
}
变量在程序运行期间只能存储一个值,而字段可以存储多个值。

namespace _05结构
{
    public struct Person
    {
        public string _name;//字段
        public int _age;
        public Gender _gender;
    }

    public enum Gender
    {,}

    class Program
    {
        static void Main(string[] args)
        {
            //XX大学管理系统
            //姓名、性别、年龄、年级  //5000  20000
            //string zsName = "张三";
            //int zsAge = 21;
            //char zsGender = '男';
            //int zsGrade = 3;

             string s = "123";

            Person zsPerson;
            zsPerson._name = "张三";
            zsPerson._age = 21;
            zsPerson._gender = Gender.;


            Person lsPerson;
            lsPerson._name = "李四";
            lsPerson._age = 22;
            lsPerson._gender = Gender.;


            Console.WriteLine(zsPerson._name);
            Console.WriteLine(lsPerson._name);
            Console.ReadKey();

        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值