C#编程数据类型介绍
小标 2018-08-13 来源 : 阅读 1432 评论 0

摘要:本文主要向大家介绍了C#编程数据类型介绍,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。

本文主要向大家介绍了C#编程数据类型介绍,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。

预定义数据类型
值类型 :值类型存储在堆栈中 引用类型:引用类型存储在托管堆上
CTS [ 通用类型系统(Common Type System)]

整型
C#支持8个预定义整型
所有的数据类型都以与平台无关的方式定义,以备将来C#和.NET迁移到其他平台上。


 
 
  名 称
 
  CTS类型
 
  说 明
 
  范 围
 


 
 sbyte
 System.SByte
 8位有符号的整数
 -128~127[-27 ~ 27 -1]
 
 
 short
 System.Init16
 16位有符号的整数
 -32768~32767[-215 ~ 215 -1]
 
 
 int
 System.Init32
 32位有符号的整数
 -2147483648~2147483647[-231 ~ 231 -1]
 
 
 long
 System.Init64
 64位有符号的整数
 -9223372036854775808~92233720368547755[-263 ~ 263 -1]
 
 
 byte
 System.Byte
 8位无符号的整数
 0~255[0 ~ 28]
 
 
 ushort
 System.UInit16
 16位无符号的整数
 0~65535[0 ~ 216]
 
 
 uint
 System.UInit32
 32位无符号的整数
 0~4294967295[0 ~ 232]
 
 
 ulong
 System.UInit64
 64位无符号的整数
 0~18446744073709551615[0 ~ 232]
 


如果对一个整数是short、ushortt、long或是ulong没有任何显式的声明,则该变量默认为int类型。
为了把输入的值指定为其他整数类型,可以在数字后面加上如下字符:
?123uint ui = 1234U;long l = 1234L;ulong ul = 1234UL;
也可以使用小写字母u和l,但后者会与整数1混淆。
浮点类型


 
 
  名 称
 
  CTS类型
 
  说 明
 
  位数(精度)
 
  范 围(大致)
 


 
 float
 System.Single
 32位单精度浮点数
 7
 ±1.5×10-45~ ±3.4×1038
 
 
 double
 System.Doule
 64位单精度浮点数
 15/16
 ±5.0×10-324~ ±1.7×10308
 


如果在代码中没有对某个非整数值硬编码,则编译器一般假定该变量是double 。如果想指定该值为float,可以在其后加上字符F/f
float a=3.56f;
decimal 类型
该类型表示更高精度的浮点数
专门用于财务计算
在数据后面加上M/m显示表示是一个decimal类型
decimal d=35.2m;

除了把char表示为字符字面量之外,还可以用4位十六进制的Unicode值(如‘\u0041’)、带有数据类型转换的整数值(如(char)65)或十六进制数(‘\x0041’)表示它们。
它们还可以用转义序列表示。

Object类型基本方法
Equals() GetHashCode() GetType() ToString()
String类型
虽然它也是引用类型,但是在某些情况上,不会共享一个引用。
?1234string s1="hello";string s2=s1;s2+=" world";Console.WriteLine("{0},---,{1}",s1,s2);
输出
hello,—,hello world
显然对s2的修改没有影响到s1.
初始化s1时,会在堆上分配一个新的string对象,s1这个引用指向他 给s2赋值时,s2这个引用也指向他 当改变后者的值时,会为其重新分配一个string对象,s2指向新的对象,s1仍指向原先的对象。【运算符重载】
@符号
不解析字符串中的转义字符,将串视为普通字符
string filepath = @"C:\ProCsharp\First.cs";
实例
Step1/API/ReferenceType.cs
using System; namespace Step1.API{    class ReferenceType    {        public static void  Print()        {            string s1 = "hello";            string s2 = s1;            s2 += "world";            Object obj= "123456";            Object obj1= 999999999999999997;            Object obj2=56.35M;             Console.WriteLine("{0}", obj.GetType());            Console.WriteLine("{0}", obj1.GetType());            Console.WriteLine("{0}", obj2.GetType());            Console.WriteLine("{0},{1}",s1,s2);         }    }}
Step1/API/ValueTypes.cs
using System; namespace Step1.API{    class ValueTypes    {        public static void PrintType()        {            sbyte sb = -56;            short s = -5656;            int i = -665566;            long l = -5656565655656656;             byte b = 100;            ushort us = 65534;            uint ui = 56862656;            ulong ul = 6021486464948615498;             Console.WriteLine(sb.GetType());            Console.WriteLine(s.GetType());            Console.WriteLine(i.GetType());            Console.WriteLine(l.GetType());            Console.WriteLine(b.GetType());            Console.WriteLine(us.GetType());            Console.WriteLine(ui.GetType());            Console.WriteLine(ul.GetType());        }    }}
Step1/Run.cs
using System;using Step1.API;namespace Step1{    class Run    {        public static  int Main(String[] args)        {            //helloworld.printhello();            //TypeInference.PrintType();            //Scope.ScopeTest();            ReferenceType.Print();            ValueTypes.PrintType();            return 0;        }    }}
输出
System.String
System.Int64
System.Decimal
hello,helloworld
System.SByte
System.Int16
System.Int32
System.Int64
System.Byte
System.UInt16
System.UInt32
System.UInt64    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C#.NET频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程