zoukankan      html  css  js  c++  java
  • .NET中变量的类型问题

    clipboard

    1.JAVA和C# Byte的不同。

        java里一个byte取值范围是-128~127, 而C#里一个byte是0~255.

        首位不同. 但是底层I/O存储的数据是一样的,

        比如, 十进制的100, 转换成java或者c#的byte, 都是1100110.

        但是, 使用java的getBytes()方法, 得到的是负数,即: -100110

        使用C#的getBytes(),得到的是正数.1100110.

        这在底层socket传输应该注意.

    2. 取值范围比较

        log>int>short>byte;

        double>float

    3. 隐式转化 和 显式转换

    隐式转换:  当小范围的类型 向  大范围的类型转换时。

        int a =5;

       long b = a;  //发生了隐式转换

        显式转换: 当大范围的类型 向 小范围的类型转换时,必须显式转换。

        double a =0.1;

    float b =(float )a;//这里必须显式转换一下。

    PS:值类型之间互相引用,方式是拷贝一个副本。所以存在转换的问题。

    4. 加一个F(两个整数运算时,返回一定还是整数。)

    float变量 后面最好加一个F

        整数常量在参与运算,最好在末尾加一个F。

        防止精度丢失

    5.字符串的转意字符

       1)字符串中 标示他后面的字符具有特殊含义。当我们想输出    " 等 字符时,在前面使用进行转意。

       2)在字符串前面 加@,强制不转义!

    6.各种类型的最大值、最小值。

    int:最大值int.MaxValue ;最小值: int.MinValue,其他数值类型也可以通过MaxValue、MinValue获取取值范围。

    7.类型转换问题

    显式类型转换仅限整数、小数类型之内。

    其他数据类型转换为string:

    1)  .ToString()/推荐:(其他类型没有)

    2) Convert.ToString() 。

    3) string.prese()

    8.Convert 与 prese的区别  还有 int.TryParse

    1)名字不同(这条是扯淡)

    2)Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:

    3)Convert.ToInt32 参数为 null 时,返回 0;  

       int.Parse 参数为 null 时,抛出异常。

    4)Convert.ToInt32 参数为 "" 时,抛出异常;

       int.Parse 参数为 "" 时,抛出异常。

    5) Convert.ToInt32 可以转换的类型较多;  

    int.Parse 只能转换数字类型的字符串。

    6)int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,

    转换成功返回 true,转换失败返回 false。

    最后一个参数为输出值,如果转换失败,输出值为 0。    

  • 相关阅读:
    B-Tree和B+Tree的区别
    b树和hash树的应用场景
    比较顺序表和链表的优缺点,说说它们分别在什么场景下使用?
    5V与3.3V电平互转
    100M双绞线接头的标准接法
    解决openwrt中文界面异常
    刚刚开通了博客
    openwrt挂载摄像头及视频保存
    mwan3多wan叠加成功
    贝尔金(Belkin)7231-4P tftp救砖
  • 原文地址:https://www.cnblogs.com/mcad/p/4183673.html
Copyright © 2011-2022 走看看