• 类型转换、三元表达式、枚举、随机数


    1类型转换:

     //将string类型的123转为int类型的123
                //方式1
                int number1 = Convert.ToInt32("123");
                Console.WriteLine(number1);
                //方式2
                int number2 = int.Parse("456");
                Console.WriteLine(number2);
                //转换失败
                //int number3 = Convert.ToInt32("123aaa"); //"123abc"无法转换为int类型
                //Console.WriteLine(number3);
                Console.ReadKey();
    
     //所有的类型都能够转换成string类型,调用ToString()
                int n1 = 11 ;
                Console.WriteLine(n1);
                Console.WriteLine(n1.GetType());
                string s1 =n1.ToString();
                Console.WriteLine(s1.GetType());
    
                decimal n2 = 5000m;
                Console.WriteLine(n2);
                Console.WriteLine(n2.GetType());
                string s = n2.ToString();
                Console.WriteLine(s.GetType());
    
                Console.ReadKey();
    
    //TryParse判断是否转换成功,输出false或true
    class Program { static void Main(string[] args) {
           //方式一 int num; bool b = int.TryParse("123abc", out num); Console.WriteLine(num);//思考为什么是int类型的0,后面却是bool类型的false Console.WriteLine(b); //方式二 int result; bool c = MyTryParse("234",out result); Console.WriteLine(c); Console.ReadKey(); }
        //TryPares的本质如下 public static bool MyTryParse(string s, out int result) {
          //out 必须在方法中赋值,计算后的新数据又被带出方法 result = 0; try { result = Convert.ToInt32(s); return true; } catch { return false; } } }

    2随机数

     //产生随机数
                    //1、创建能够产生随机数的对象
                    Random r = new Random();
                    //2、让产生随机数的这个对象调用方法来产生随机数
                    //3产生一个1-100内的随机数
                    int rNumber = r.Next(1, 100);
                    Console.WriteLine(rNumber);
                    Console.ReadKey();
    

    3、三元表达式

    语法: 表达式1?表达式2:表达式3; 表达式1一般为一个关系表达式。

    如果表达式1的值为true,那么表达式2的值就是整个三元表达式的值。

    如果表达式1的值为false,那么表达式3的值就是整个三元表达式的值。

    注意:表达式2的结果类型必须跟表达式3的结果类型一致,并且也要跟整个三元表达式的结果类型一致。

       //例1    
         int x = 1 > 2 ? 11:12; int x2 = 1 < 2 ? 11 : 12; int y = 1 ==1 ? 11 : 12; Console.WriteLine(x); Console.WriteLine(x2); Console.WriteLine(y); Console.ReadKey();   //例2 //计算两个数字的大小 求出最大的 //Console.WriteLine("请输入第一个数字"); //int n1 = Convert.ToInt32(Console.ReadLine()); //Console.WriteLine("请输入第二个数字"); //int n2 = Convert.ToInt32(Console.ReadLine()); //int max = n1 > n2 ? n1 : n2; //Console.WriteLine(max); ////相当于 //if (n1 > n2) //{ // Console.WriteLine(n1); //} //else //{ // Console.WriteLine(n2); //} //Console.ReadKey();

    4枚举
    语法:
    [public] enum 枚举名
    {
    值1,
    值2,
    值3,
    ........
    }
    public:访问修饰符。公开的公共的,哪都可以访问。
    enum:关键字,声明枚举的关键字
    枚举名:要符合Pascal命名规范
    将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。
    枚举就是一个变量类型 ,类似于int double  string  decimal.只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。
    我们可以将一个枚举类型的变量跟int类型和string类型互相转换。
    枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。
    当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。
    枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().
    如果将字符串转换成枚举类型则需要下面这样一行代码:
    (要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
    如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
    如果转换的字符串是文本,如果枚举中没有,则会抛出异常。

    namespace _02Gender
    {
        //声明了一个枚举,取名 Gender
        public enum Gender
        {
            男,
            女
        }
    
        public enum Day
        {
            星期一 =0,
            星期二 =1,
            星期三 =2,
            星期四 =3,
            星期五 =4,
            星期六 =5,
            星期日 =6
        }
        class Program
        {
    
            static void Main(string[] args)
            {
    
    
                Gender gender1 = Gender.男;
                Console.WriteLine(gender1);
                Gender gender2 = Gender.女;
                Console.WriteLine(gender2);
                //枚举一般用于限定输入,避免同一意思不同的表达带来的混乱。
                //例如“男人”,“爷们儿”,“小伙子”,“man”....
    
                 Day  Monday = Day.星期一;
                Console.WriteLine(Monday);
                Console.WriteLine((int)Monday);
                Console.WriteLine(Day.星期一);
                Console.WriteLine((int)Day.星期一);
                Console.ReadKey();


           //枚举详情
                //http://www.cnblogs.com/kissdodog/archive/2013/01/16/2863515.html
    } }
  • 相关阅读:
    Oracle 左连接、右连接、全外连接、(+)号作用
    ORA-01940:无法删除当前已链接的用户(转)
    博客正式开通
    python扫描内网存活主机(scapy与nmap模块)
    Python学习之扫描网段主机与开启端口(避坑)
    Python学习之服务器与客户端的交互
    python渗透测试编程之kali linux2的AptanaStudio3安装
    Shellcodeloader免杀过火绒
    Cracer之Waf绕过
    30 Day Challenge Day 16 | Leetcode 692. Top K Frequent Words
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6071649.html
Copyright © 2020-2023  润新知