• C#类型转换 20140815


    一、类型转换

    1.强制转换(显示转换)

    A.变量=(需要转换的类型)变量--仅适合于同一类型内转换.

    例:float a;

         double b=3.14;

         a=(float)b;

    B.变量=Convert.To数据类型 (变量)--值类型转换.

    PS:TO数据类型必须用".net数据类型"来表示.

    例:float a;

        double b=3.14;

        a=Convert.ToSingle(b);

    C.变量=数据类型.parse(变量)--"()"内只能为字符串类型,将字符串解析成相应值类型.

    例:float a;

         double b=3.14;

         a=float.parse(b)

    PS:只有"()"内字符串符合要转变变量的类型才可以运行,否则编辑时不提示错误,但无法运行.

    例:string b="Hello";

          int a=int.Parse(b)--因"Hello"无法转换为"int".

    2.电脑自动转换(隐式转换)--计算器只能针对同一类型数据进行运算.

    二、运算符

    1.数学运算

    共7种:1)+  2)-   3)*   4)/   5)%   6)++   7)——

     4)/ --整型与整型运算结果为整型.

    例:int a=10;

         int b=3;

         Console.Writeline(a/b)--返回信息为"3".

    5)%--取余,控制数据范围时需使用.

    例:int a=2357;

          int b=36;

          Console.WriteLine(a/b)--返回信息值在0-35之间,如不需0值,可+1,,取值1-36之间.

    6)++   自增    7)——   自减

    A.一条语句中只有"++""——"运算时,变量前"++""——"与变量后"++""——"是一样的,无优先处理顺序.

      例:int a=10;

            a++;

          Console.WriteLine(a);--返回信息为"11".

           int a=10;

            a——;

         Console.WriteLine(a);--返回信息为"9".

    B.一条语句中在除了"++""——"运算外还有其他运算时,变量前"++""——"运算中优先运算"++""——"数据;变量后"++""——"运算中最后运算"++""——"数据.

    例:int a=10,b;

          b=a++;    --b=a,a=a+1.

          Console.WriteLine(a);--11

          Console.WriteLine(b);--10

    例:int a=10,b;

          b=++a;    --a=a+1,b=a.

          Console.WriteLine("a="+a);   --a=11

          Console.WriteLine("b="+b);   --b=11

    例:int a=10,b;

         b=a++,a=b++;

         Console.WriteLine("a="+a);   --a=12

         Console.WriteLine("b="+b);   --b=12

    例:int a=10,b;

         b=++a,a=b++;

         Console.WriteLine("a="+a);   --a=12

         Console.WriteLine("b="+b);   --b=11

    PS:"++""——"不论前后均仅针对于变量,"++""——"的前面只能是一个变量,不能是常量或公式.

    2.关系运算
    共6种:1)==   2)!=    3)>    4)<   5)>=    6)<=

    1)== --判断

    例:int a=3,b=4,c=5;

    Console.WriteLine(a==b);--bool类型,表示a与b相等吗?成立吗?--返回信息为"false".

    使用:可用于判断结果是否为预期.

    例:Console.Write("请输入一个100以内的整数:");

    string s=Console.ReadLine();

    int num=Convert.ToInt32(s);

    Console.WriteLine(num%7==0)--取余是否为0?是否为整数?--数值是否为7的倍数?

    Console.WriteLine(num%10==7)--数值个位数是否为7?

    Console.WriteLine(num/10==7)--数值十位数是否为7?

    PS:所有关系运算符,返回信息都是bool型;表达成立--返回信息为True;表达不成立--返回信息为False.

    3.逻辑运算

    共3种:1)&&     2)||     3)!

    1)&& --逻辑与,表示并且.

    A.True && True = True

    B.False && True =False

    C.False && False =False
    例:int a=3,b=4,c=5;

    Console.WriteLine(a>b&&b<c);--返回信息为"False".

    例:int a=3,b=4,c=5;

    Console.WriteLine(!(a>b)&&b<c);--返回信息为"True".

    2)|| --逻辑或

    A.True || True =True

    B.False || True =True

    C.False || False =False

    PS:所有逻辑运算符,返回信息都是bool型;表达成立--返回信息为True;表达不成立--返回信息为False.

    3)!  --逻辑非,取反.

    4.其他运算符

    1)赋值运算符:=

    2)复合运算符:=为赋值 A.+= B.—= C.*= D./= E.%=

    例:int a=5;

    a+=10; --a=a+10.

    Console.WriteLine(a);--返回信息为"15".

    3)条件运算符:A.?    B.:

    (表达式1)?(表达式2):(表达式3)

    例:Console.WriteLine("请输入24小时制的时间:");

    int h =Convert.ToInt32(Console.ReadLine());
    string ap="";

    ap=h>12?"PM":"AM"; --h大于12吗?成立就是"PM",不成立就是"AM".

    h=h>12?h-12:h; --h大于12吗?成立就减去12,不成立就是h.

    三、运算符的运算优先级

    数学运算符高于关系运算符,关系运算符高于逻辑运算符.

    1)数学运算符的运算优先级:"++""——"高于"*""/""%","*""/""%"高于"+""—".

    2)逻辑运算符的运算优先级:"&&"高于"||".

    PS:()是最为优先运算,其次是!;变量后"++"为最后运算,其次是=.

     

  • 相关阅读:
    [转]Nginx配置信息详解
    [转]浅谈Nginx负载均衡和F5的区别
    [转]MySQL中datetime和timestamp的区别及使用
    理解MyCat分库分表
    理解秒杀系统
    [转]设计模式之桥接模式
    [转]MySQL查询语句执行过程详解
    两步完美解决 androud 模拟器太慢的问题
    android hook 框架 xposed 如何实现挂钩
    android hook 框架 xposed 如何实现注入
  • 原文地址:https://www.cnblogs.com/DORCASQING/p/3915300.html
Copyright © 2020-2023  润新知