网站首页 > 技术文章 正文
C#中的变量类型一般分为:值类型和引用类型。值类型的变量本身直接存储数据,引用类型存储实际数据的引用。
值类型
值类型直接存储数据值,包含整数、浮点数和布尔类型。
- 整数类型:整数类型用来存储整数。
- 十进制:140,250,520。不能以0作为十进制数开头。
- 八进制:0123,0210,0321。必须以0开头。
- 十六进制:0x25,0xff,0xcd。必须以0X或者0x开头
- sbyte:8位有符号整数,-129-127
- short:16位有符号整数,-32768-32767
- int:32位有符号整数,-2147483648-2147483647
- long:64位有符号整数:-9223372036854775808-9223372036854775807
- byte:8位无符号整数:0-255
- ushort:16位无符号整数:0-65535
- uint:32位无符号整数:0-4294967295
- ulong:64位无符号整数:0-18446744073709551615
- 浮点类型:浮点类型包括float和double两种类型。
- float:精确到7位数
- double:精确到15-16位数
- 布尔类型:布尔类型只能表示true和false。
引用类型
- 必须在托管堆中为引用类型变量分配内存
- 使用new关键字来创建引用类型变量
- 引用类型被赋值之前都是null
class Program
{
static void Main()
{
int a = 0;
int b = a;
b = 88;
Constant c = new Constant();
Constant d = c;
d.value = 889;
Console.WriteLine("value:{0},{1}",a, b);
Console.WriteLine("refs:{0},{1}", c.value, d.value);
Console.ReadLine();
}
}
class Constant
{
public int value = 1;
}
枚举类型
枚举类型是一种独特的值类型,可以增加程序的可读性和维护性。
enum Data
{
Sun = 0,
Mon = 1,
Tue = 2,
Wed = 3,
Thi = 4,
Fri = 5,
Sat = 6
}
class Program
{
static void Main()
{
int a = (int)System.DateTime.Now.DayOfWeek;
switch(a)
{
case (int)Data.Sun:Console.WriteLine("周日");break;
case (int)Data.Mon: Console.WriteLine("周一"); break;
case (int)Data.Tue: Console.WriteLine("周二"); break;
case (int)Data.Wed: Console.WriteLine("周三"); break;
case (int)Data.Thi: Console.WriteLine("周四"); break;
case (int)Data.Fri: Console.WriteLine("周五"); break;
case (int)Data.Sat: Console.WriteLine("周六"); break;
}
}
- 上一篇: C 基本语法(c语言基本句型)
- 下一篇: C#基础:了解基本数据类型(C#教程重置版)
猜你喜欢
- 2024-11-12 C#-练习题 014(c#程序题及答案)
- 2024-11-12 C# 类型转换(c类型转换有哪三种形式)
- 2024-11-12 C#-无参数有返回值的方法 060(有参无返回值 c语言)
- 2024-11-12 C#中的值类型和引用类型(c# 引用类型)
- 2024-11-12 abelkhan中的rpc框架(rpc框架应用场景)
- 2024-11-12 C#编程零基础到入门学习-C# 值类型和引用类型(4-8)
- 2024-11-12 2.6 C#的常用关键字和预定义类型(c#预留关键字)
- 2024-11-12 C#_图片拖拽(c#窗体图片移动)
- 2024-11-12 数据类型 - C#入门教程(c#常见数据类型)
- 2024-11-12 C#中堆栈(Stack)和堆(Heap)的区别——第一部分
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)