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。    

  • 相关阅读:
    asp.net 一次性提交大量数据,服务器会报错,要在 web.config 中设置一下
    同一服务器上多个版本的 sqlserver ,如何连接,改变某一实例的端口号
    安装SQl 2008为SQL Server代理服务提供的凭据无效
    winserver2008 R2 64位 企业版 , IIS 配置运行 asp+access 网站
    获取屏幕分辩率及客户端信息
    如何使用 aspnetpager
    SQL函数:判断库、表、存储过程等是否存在
    NPOI封装类
    Python基础Day1
    HTML5_增强可访问性和解决IE兼容性问题
  • 原文地址:https://www.cnblogs.com/mcad/p/4183673.html
Copyright © 2011-2022 走看看