六、复杂数据类型

发布时间 2023-07-04 08:29:18作者: 它的眼角开过光

1、变量类型:

int double string char bool decimal

变量的使用规则:先声明再赋值最后使用

2、Camel  Pascal

3、运算符

赋值运算符:=

复合赋值运算符:+=  -=  *=  /=  %=  sum+=age; sum=sum+age

算数运算符:+  -  *  /  %  ++  --

关系运算符:>  < >=  <=  ==  !=

逻辑运算符:&&  ||  !

4、C#中的语法结构

分支结构:if   if-else

选择结构:

while   do-while  for 

5、常量

声明常量的语法:

const 变量类型 变量名=值;

例:const int number = 20; //常量不能够被重新赋值

6、枚举

语法:

[public] enum 枚举名

{

      值1,

      值2,

      值3,

      ……

}

public:访问修饰符。公开的公共的,哪都可以访问。

enum:关键字,声明枚举的关键字

枚举名:要符合Pascal命名规范

 

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

枚举就是一个变量类型,int--double  string  decimal.

只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。

 

我们可以将一个枚举类型的变量跟int类型和string类型互相转换。

枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法相互转换。

当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。

 

枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString()。

如果将字符串转换成枚举类型则需要下面这样一行代码:

 (要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");

如果转换的字符串是数字,则就算枚举中没有,也不会抛出异常。

如果转换的字符串是文本,如果枚举中没有,则会抛出异常。

例:

namespace _03_枚举
{
    //声明枚举
    public enum Gender
    {
        男,
        女
    }
    public enum Sesons
    {
        春,
        夏,
        秋,
        冬
    }

    public enum QQState
    {
        ONLine,
        OffLine,
        Leave,
        Busy,
        QMe
    }
    class Program
    {
        static void Main(string[] args)
        {
            const int number = 20; //常量不能够被重新赋值

            //枚举
            //XX大学管理系统
            //姓名 性别 年龄 系别
            //性别 
            //枚举使用
            Gender gender = Gender.男;

            Sesons seson = Sesons.春;

            QQState state = QQState.ONLine;
            //枚举类型默认可以和int类型相互转换 枚举类型跟int类型是兼容的
            //枚举--int
            int n = (int)state;
            Console.WriteLine(state);
            Console.WriteLine(n);

            //int--枚举
            int n1 = 3;
            QQState state1 = (QQState)n1;
            Console.WriteLine(state1);

            //枚举--string
            string s = "0";
            //调用Parse()方法的目的就是为了让他帮助我们将一个字符串转换成对应的枚举类型
            //参数1获得转换的枚举类型,typeof拿到枚举类型;参数2需转换的字符串
            QQState state2 = (QQState)Enum.Parse(typeof(QQState), s);
            Console.WriteLine(state2);

            //枚举练习:提示用户选择一个在线状态,我们接受,并将用户的输入转换成枚举类型。再次打印到控制台中
            Console.WriteLine("请选择一个状态:");
            string s2 = Console.ReadLine();
            QQState S3 = (QQState)Enum.Parse(typeof(QQState), s2);


            Console.ReadKey();
        }
    }
}

7、所有的类型都能够转换成string类型,调用ToString()。

8、结构

可以帮助我们一次性声明多个不同的变量。

语法:

[public] struct 结构名

{

     成员; //字段

}

变量只可以存储一个值,字段可以存储多个值。