(三)C#编程基础复习——数据类型
特此声明:本教程内容可能有部分参照其他博主的观点或描述,但始终不影响我学习的热情,代码全部自己手工敲打,编辑此教程目的不是为了博取大家眼球,也不是为利益所驱,只是纯属为了方便自己学习,编辑的过程中也让自己加深了对C#各个基础的印象,同时也让自己编码过程更加流畅顺利,最后还能帮助到有需要的人,代码都是自己亲测有效,如有侵权可以联系本人删除。
C#语言中内置了一些基本的数据类型,数据类型用来指定程序中变量可以存储的数据的类型,C#中的数据类型可以大致分为三类:
- 值类型(Value types);
- 引类型(References types);
- 指针类型(Pointer types);
一、值类型
值类型顾名思义就是有带数值的类型,C#中的值类型有非常多,值类型变量声明后,不管是否已经赋值,编译器为其分配内存,如下所示:
如果想知道值类型的确切大小,可以使用sizeof方法,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Day2
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("int类型的大小:{0}",sizeof(int));
Console.WriteLine("bool的类型大小为" + sizeof(bool));
Console.WriteLine("byte的类型大小为{0}",sizeof(byte));
Console.ReadKey();
}
}
}
二、引类型
引用类型的变量中不存在实际的数据值,而是存储的对数据(对象)的引用,换句话说就是,引用类型的变量中存储的是数据在内存中的位置。C#中内置的引用类型包括Object(对象)、Dynamic(动态)和String(字符串)。
三、指针类型
C#语言中的指针是一个变量,也成为定位器或指示符,其中可以存储另一种类型的内存地址。C#中的指针与C或者C++的指针具有相同的功能。
四、类型转换
- 隐式转换隐式类型转换是由以类型安全的方式执行的,转换的过程中不会导致数据丢失,例如从较小的整数类型(例如int)转换到较大的数据整形(例如long)。一种数据类型(类型A),只要其取值范围完全包含在另一种数据类型(类型B)的取值范围内,那么类型A就可以隐式转换为类型B。基于这一特性,C#的隐式类型转换不会导致数据丢失。
int a = 210; double b = a; Console.WriteLine("b的值是:{0}",b);
- 显示转换显示类型转换也叫强制类型转换,这种转换需要使用(type)value的形式完成,显示转换需要用户明确的指定要转换的类型,而且在转换的过程中可能会造成数据丢失,例如将double类型转换为int类型。
double c = 576.88; int d; d = (int)c; Console.WriteLine("转换前{0},转换后{1}",c,d);
- 内置的类型转换方法通过上述方法,可以将各种类型的数据转换为字符串类型,例如下:
int a= 890; float b = 23.987f; double c = 34.343; bool d = true; Console.WriteLine(a.ToString()); Console.WriteLine(b.ToString()); Console.WriteLine(c.ToString()); Console.WriteLine(d.ToString()); Console.ReadKey();
运行结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了