[正文]数据类型-值类型

值类型:



值类型都是struct(结构).

整型:整数类型的数据.如,-1,0,1;

在C#中所有的整型为:

        sbyte,      8位有符号的整数,       -128~127(-2^7~2^7-1)                    结构名:SByte
        short,      16位有符号的整数,      -32768~32767(-2^16~2^16-1)              结构名:Int16
        int,        32位有符号的整数,      -2147483648~2147483647(-2^31~2^31-1)    结构名:Int32
        long,       64位有符号的整数,      -2^63~2^63-1                            结构名:Int64
        byte,       8位无符号的整数,       0~2^8-1                                 结构名:Byte
        ushort,     16位无符号的整数,      0~2^16-1                                结构名:UInt16
        uint,       32位无符号的整数,      0~2^32-1                                结构名:UInt32
        ulong,      64位无符号的整数,      0~2^64-1                                结构名:UInt64


接下来用一个整型(sbyte)解释一下:
    

sbyte:C#关键字,   

8位有符号的整数:  8位,共2的8次方个整数;  

有符号,代表有正数也有负数,  SByte: public struct SByte{……}


注意:所有的整型都是整数,只是 范围(整数的个数)和正负的区别.




使用sbyte的一些自带的方法,同时这些方法对 其他的 值类型 都同样适用

sbyte by;//sbyte关键字来自 public struct SByte
bool isflag = sbyte.TryParse("2", out by);//把字符串"2"转成sbyte类型,赋值给by;转换成功,isflag为true;
//结果:  isflag:true  by:2

sbyte by2 = 4;
int i1 = by.CompareTo(by2);//by2和by比较大小,i1=by-by2,by2可以是object
//结果:  i1 : -2

object ob1 = by2;
object ob2 = 4;
bool isflag2 = by.Equals(by2);//判断by与by2对象中的值是否相等,2比4
bool isflag3 = by2.Equals(ob1);//by2与ob1两个对象是否相等,比的是栈中的内容
//int a = by.GetHashCode();//哈希代码是一个用于在相等测试过程中标识对象的数值。它还可以作为一个集合中的对象的索引。
bool isflag4 = by2.Equals(ob2);//同上,当Equals()中的参数为object,比的就是 对象是否相同,而不是4和4
// 结果:  isflag2: false  isflag3: true  isflag4: false
// 以上代码中:ob1对象栈中的内容等于by2栈中的内容,都是4,所以结果是true
// 以上代码中:ob2是引用类型,所以ob2中栈的内容是其值在堆里面的地址; by2栈中的内容是4; 所以结果是false


浮点型:

浮点类型的数据.如,-1.1,1.2;  

在C#中所有的浮点型为: 

float,  32 位单精度浮点型, -3.4 x 10^38 到 + 3.4 x 10^38
double, 64 位单精度浮点型, (+/-)5.0 x 10^-324 到 (+/-)1.7 x 10^308


上面整型的方法,在float也同样适用,同时也有一些是浮点型自己的方法:

     
        float b1 = 1.77f;
        bool is1 = float.IsInfinity(b1);//判断b1是否为正负无穷大
        bool is2 = float.IsNaN(b1);//判断b1是否为数字,b1不是数字为true
        //结果: is1:false  is2:false

        double h1 = 1.55;//同上

Decimal:  

        decimal d1 = 199.00099m;
        Decimal d2 = new Decimal(b1);//float类型可这样转换成Decimal
        decimal d3 = Decimal.Ceiling(d2);//大于或等于d2参数的最小整数值。请注意,此方法返回 System.Decimal,而不是整数类型。
        decimal d4 = Decimal.Remainder(d1, d2); //获取d1除以d2的余数
        decimal d5 = Decimal.Floor(d1); //取整数部分
        decimal d6 = Decimal.FromOACurrency(256988888); //转换货币格式,四位一个逗号
        decimal d7 = Decimal.Add(d1, d2); //加
        decimal d9 = Decimal.Multiply(d1, d2); //乘
        decimal d10 = Decimal.Divide(d1, d2); //除
        int d11 = Decimal.ToInt32(d1); //同时内置转换多个方法

DateTime:

        DateTime now1 = new DateTime(2018, 12, 12, 14, 05, 9, 555);//年月日时分秒毫秒,2018-12-12 14:05:9:555
        DayOfWeek now2 = now1.DayOfWeek;//表示当前日期是星期几
        int now3 = now1.DayOfYear;//该年中的第几天,表示为 1 和 366 之间的一个值。
        int now4 = DateTime.DaysInMonth(2018, 5);//返回指定年和月中的天数。  结果:31
        bool now5 = DateTime.IsLeapYear(2018);//返回指定的年份是否为闰年的指示。
        DateTime now6 = now1.AddYears(2);//加上2年     

bool idf; //默认为false

char c = 'u'; //内置判断当前字符是否为数字,字母等方法.



作者:FengYang

博客地址:http://blog.csdn.net/qq_28140365

版权声明:如果感觉文章哪里写的不对或者存在疑问,欢迎留言,共同学习、进步!

蓝色字体为链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值