VR引擎开发0108

143 阅读2分钟

十、 out ref参数

函数 return只返回了一个值,返回多个同类型的值使用 数组

返回多个不同类型的值 out参数 ref参数

        static bool[] check(int num,out int num1,out string str)
            {
                bool[] isPrime = { true, false};
                num1 = 23;
                str = "是一个字符串";
                return isPrime;
            }
/*-------------------------函数分割线-------------------------------------*/
            int num2 = 13;
            string str;
            check(12,out num2,out str);//out 参数的意义是 函数内部变量发生变化后 将会把变化后的值带出来给num2
            Console.WriteLine(str);

登录

            static bool login(string name,string password,out string msg)
            {                                             //out 参数不能赋默认值
                if (name != "abc")
                {
                    msg = "用户名错误";
                    return false;
                }
                else if (password != "123")
                {
                    msg = "密码错误";
                    return false;
                }
                else
                {
                    msg = "成功";
                    return true;
                }

            }
     /*-------------------------函数分割线-------------------------------------*/
            string msg;
            login("abc", "123",out msg);
            Console.WriteLine(msg);

ref 会将函数中的变量带出来改变外部变量的值,并且ref参数的变量在函数中可以不用赋值

int n = 1;
            static void getNum(ref int n1)
            {
                n1 = 3;
                Console.WriteLine(n1);
            }
     /*-------------------------函数分割线-------------------------------------*/
            getNum(ref n);
            Console.WriteLine(n);

十一、枚举

        //枚举类型
        enum Role  //大驼峰命名法
        {
             射手, 法师, 坦克=10, 战士 //填写值,逗号隔开,每个值对应一个编号,从0开始
        }
        enum Week
        {
            周一,周二,周三,周四,周五,周六,周天
        }
        enum QQstatue
        {
            Online=1,Offline,Busy
        }
            //创建一个枚举类型变量
            Role role = Role.法师;
            Console.WriteLine((int)(role));    //枚举类型中的值都可以转化为整数
            Console.WriteLine(Convert.ToString(role));    //枚举类型中的值都可以转化为字符串

            Week day = Week.周三;

            //字符串转化为枚举类型
            Week week = (Week)Enum.Parse(typeof(Week), "周三");//如果在枚举类型中有对应编号的值,那么转换为的枚举值就是对应编号的值,如果没有
            Console.WriteLine(week);

            String strNum = "1";
            switch (strNum)
            {   
                case "1":
                    Console.WriteLine(QQstatue.Online);
                    break;
                case "2":
                    Console.WriteLine(QQstatue.Offline);
                    break;
                case "3":
                    Console.WriteLine(QQstatue.Busy);
                    break;

                default:
                    break;
            }
            //遍历枚举
            foreach (string i in Enum.GetNames(typeof(Week)))//遍历名字
            {
                Console.WriteLine(i);
            }

            foreach (int i in Enum.GetValues(typeof(Week)))//遍历值
            {
                Console.WriteLine(i);
            }