C#的基础知识内容

开发工具与关键技术:VS  MVC

作者:小益

撰写时间:2022/3/17

这是我自己总结的一些C#的基础知识内容,总共总结了以下六点,控制器的输入与输出、类的实例化、值类型的装箱和拆箱、String和string之间的区别、值类型的几个特点、还有值类型和引用类型之间的区别。

一、输入与输出:

Console.Write(); 输出后不换行

Console.WriteLine(); 输出后自动换行

Console.ReadLine(); 读取键盘时输入的所有字符,返回字符串。按下回车键退出

Console.Read(); 读取键盘输入的第一个字符,返回其对应的ASCLL值。按下回车键退出

Console.ReadKey(); 等待用户按下任意键退出,(此函数的作用是为了在控制台窗口停留一下,直到用户敲击键盘为止。不然运行时,”Hello World!”这句话会在控制台窗口一闪而过,没法查看)

二、什么叫类的实例化:

MyPlan plan1=new MyPlan();   类的实例化

直白地解释就是通过已有的类(class)创建出该类的一个对象(object),这一过程就叫做类的实例化。

打个比方:你设计了一个飞机模型,交给工人师傅去加工制作,生产出一个(一批)飞机。飞机模型就相当于程序中的类,生产出来的飞机就是对象,生产飞机这一过程就叫做类的实例化

三、装箱和拆箱

装箱:值类型转换为对象类型,

实例:

int val=8;

Object obj=val;  整型数据转换为对象类型(装箱)

拆箱:之前由值类型转换而来的对象类型再转回值类型,

实例:

int val=8;

object obj=val;  先装箱

int nval=(int) obj; 再拆箱

只有装过箱的数据才能拆箱

四、String 跟 string 的区别

string 是 C# 中的类,String 是 .net Framework 的类(在 C# IDE 中不会显示蓝色) C# string 映射为 .net Framework 的String 如果用 string, 编译器会把它编译成 String,所以如果直接用 String 就可以让编译器少做一点点工作。

如果使用 C#,建议使用 string,比较符合规范 string 始终代表 System.String(1.x) 或:System.String(2.0) ,String 只有在前面有 using System;的时候并且当前命名空间中没有名为 String 的类型(class、struct、delegate、enum)的时候才代表 System.String string 是关键字,String 不是,也就是说 string 不能作为类、结构、枚举、字段、变量、方法、属性的名称,而 String 可以。

String 是 CLR 的类型名称(也算是关键字),而 string 是 C# 中的关键字。string 在编译时候 C# 编译器会默认将其转换为 String,在这里会多增加几行转换的代码。很多时候都是建议使用 CLR 的类型而不要使用 C# 的类型(这是专家的建议)。比如说还有:使用 int 的时候最好使用 Int32 等。很多时候都是一个习惯问题,规范问题。还有一个不同就是在 VS 中表现的颜色不一样:String 是绿色,string 是蓝色。

五、值类型的特点:

1.不能从值类型派生新类型,但可以结构实现接口;

2.值类型不能包含 null 值;

3.每个值类型都具有一个初始化该类型的默认值的隐式默认构造函数。

六、值类型与引用类型的区别:

从内存上看,值类型是在栈中的操作,而引用类型是在堆中的操作。

(导致 => 值类型存取速度快,引用类型存取速度慢

从本质上看,值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用。

(值类型是具体的那个数值所占用的空间大小,而引用类型是存放那个数值的空间地址。)

从来源上看,值类型继承自System.ValueType,引用类型继承自System.Object。

特别的:结构体是值类型,类和string是引用类型。

当一个值类型转换为对象类型时,则被称为装箱另一方面,当一个对象类型转换为值类型时,则被称为拆箱。

动态类型与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的。

以上就是我所学到的知识,希望对大家有帮助,新手上道,请多多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小益同学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值