美文网首页
c# 数值类型

c# 数值类型

作者: 柒轩轩轩轩 | 来源:发表于2019-07-12 05:17 被阅读0次
    • 整数类型的Literal可使用10/16进制符号, 16进制是在前面加上0x前缀
    int x = 127;
    long y = 0x7F;
    
    • 实数 使用小数点,可以使用指数形式

    数值Literal的类型判断:

    默认情况下,编译器会推断一个数值Literal是double还是整数类型:

    • 如果包含小数点,或以指数形式展现,那么就是double类型
    • 否则literal的类型是下面列表中第一个能容纳该数值的类型: int, unit, long,ulong

    数值的后缀

    • float float f = 1.0F
    • double double d = 1D;
    • decimal decimal d = 1,0M
    • uint unit i = 1U;
    • long long i = 1L;
    • ulong ulong i = 1UL;

    decimal

    • 所有的整数类型可以被隐式转换为decimal类型
    • 反过来则必须进行显式转换

    checked

    • checked会告诉运行时, 如果整型的表达式或语句超出了该类型的极限,那么就会抛出overflowexception
    • checked操作符对 ++ ,--,+, -, *, / 起作用
    • checked可以用于表达式或语句
    • checked 对float和double不起作用
    int a = 1000000;
    int b = 1000000;
    int c = checked(a*b);
    
    checked {
    int d = a*b;
    }
    
    • 想不检查 用unchecked

    8,16 位整数类型

    没有自己的算术运算符, c#会按需对它们进行隐式转换到大一点的整数类型

    short x = 1, y =2;
    short z = (short)( x +y);
    
    WeChat Screenshot_20190712100804.png

    NaN

    • 使用 == 时, NaN不等于任何一个值,包括NaN
    • 使用Object.Equals()方法时, 两个NaN是相等的
    • 验证某个值是否为NaN float.isNan() double.IsNan()

    bool

    • bool类型无法和数值类型进行相互转换
    • == 和!= 操作符在用来比较相等性的时候,通常都会返回bool
    • 对于值类型, == 和!= 就是比较他们的值
    • 对于引用类型,默认情况下,就是比较他们的引用
    • && || 可以用来判断与和或
    • && || 都有短路机制
    • & 和 | 也可以用来判断与和或的条件, 但是没有短路机制,so很少用来条件判断上
    • & | 当使用于数值的时候,& 和 | 执行的是按位操作

    string 字符串连接

      • 操作符
    1. 如果其中一个操作数不是string类型,那么会调用他的toString方法
    2. 大量使用+ 做字符串连接的效率很低,最好使用StringBuilder

    string interpolation

    $"dfdfdf{x}sdfdf"

    string 比较

    • string不支持>, <等比较操作符
    • 需要使用CompareTo方法

    相关文章

      网友评论

          本文标题:c# 数值类型

          本文链接:https://www.haomeiwen.com/subject/ktrskctx.html