.net高级技术—IL、CLR、CTS、CLS

1.在.Net平台,不仅支持C#,还支持F#,VB.net等语言,所以需要让这些语言写的代码能够相互调用,这是出现了IL这种机制,全称为Intermediate Language(中间语言:MSIL):IL是程序最终编译可以执行的二进制代码(托管代码),这样C#可以调用VB.NET写的程序集(Assembly、dll、exe).

2.不同语言中的数据类型是各不相同的。

整型表示

VB.NET:Integer

C#:Int

由于这种不同,.NET平台规定了通用数据类型(CTS,Common Type System),各个语言编译器把自己语言的类型翻译成CTS中的类型。int是C#中的类型,而Int32是CTS里面定义的类型,int是C#的关键字,Int32不是

面试题:string和Stirng的区别是什么?Int和Int32的区别是什么?

string、Int是C#定义的类型,String、Int32是CTS定义的类型.

3.由于不同语言的语法不一样,比如

A类继承B类 c#代码

VB代码:

所以.NET平台规定了通用语言规范(CLS,Common Language Specificatiohn)

4.IL代码由公共语言运行时(CLR,Common Language Runtime)驱动运行,CLR提供了垃圾回收(GC Garbage
Collection),没有任何引用的对象可以被自动回收,分析什么时候可以被回收、JIT(即时编译器)

5.值类型是放在“栈内存”中,而引用类型是 引用是在"栈内存"的,而指向的对象在堆内存中,栈内存会在使用完后被自动释放,而"堆内存"需要GC来回收

上面讲了结构体是值类型,那么什么是结构体呢?

结构体:平时开发时很少去写结构体。不能像类一样继承,一个结构体不能从 另一个结构体或类继承,但是结构体从基类Objcet继承

语法:

//struct是定义结构体的关键字
Struct MyStruct
{
    public string Name{get;set;}
    public int Age{get;set;} 
}

---本博客是学习以后记录知识,如有侵权,请联系删除!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值