摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号