C#基础(一)(温故而知新)

发布时间:2021-09-19 05:55:06

C#基础(一)(温故而知新)


一、C#与.NET的关系


C#本身是一门语言,他是用于生成面向.NET环境的代码,但其并不是.NET的一部分。换言之,C#编写的代码总是运行在.NET Framework中。而且,在很多时候,C#的特定功能依赖于.NET。比如,在C#中声明一个int类型,实际上是.NET中System.Int32类的一个实例。





?


.NET的核心是CLR(公共语言运行时)。在CLR中运行的代码,我们成为“托管代码”。




?


我们写的代码在运行之前,会经过两个编译阶段。


1、? 把源代码编译为ILMicrosoft中间语言)


2、? CLRIL编译为*台专用的代码。




?


在这里,我们来简单说说“托管代码”。


IL和Java的字节代码的理念基本是一样的,都是一种低级语言,都用数字表示,可以非常快速度的转化为机器代码,这样执行效率会高很多,同时这也就是我们经常说的“*台无关性”的实现很重要的一个环节。VB.NET C# J# 的源码都可以被编译成相同的IL, 也就实现了*台无关。换言之,只要.NET Framework 可以运行在任何设备或系统上,VB.NET C# J#编写的代码都可以运行,而且都可以运行在任何设备或者系统上。


VB.NET C# J# 的源码都可以被编译成相同的IL,这样不同语言编写的不同类都可以很容易的相互操作,也就是所说的,语言的互操作性。




?




?


似乎这个IL(Microsoft 中间语言)很好很强大,很神很奇特。我们接下来了解下这个IL。


首先,简要的说说它的主要特征:


A、 面向对象和使用接口


B、 值类型和引用类型之间的巨大差别


C、 强数据类型


D、使用异常来处理错误。


E、 使用属性(attribute




?


接下来具体说说这些特征。


(一)、面向对象和使用接口


面向对象,在此不做多的阐述了。主要在这里说说接口。关于接口,有一个很重要的理念:提供一个契约,实现给定接口的类,必须提供该接口的所有方法和属性的实现。举个例子说明吧,有个接口IUser,其有age,sex,userName属性,有 setUname(),getAge()方法。有个类,UserClass继承自IUser。这时,UserClass就必须实现IUser的所有方法setUname(),getAge()和所有属性 age,sex,userName。


?????? (二)、值类型和引用类型的巨大差异。


对于值类型,变量直接保存其数据,而对于引用类型,变量仅仅保存数据的地址。值类型一般存储在堆栈中,引用类型一般存储在托管堆中。


?????? (三)、强数据类型


所谓强数据类型,是指所有的变量都明确的被标记为某个特定的数据类型。比如string 或者int 等。IL不允许对模糊数据类型执行操作。在javascript中的 var 变量就是模糊类型数据。


不过在现在的,.NET 3.5 中也加入了var ,也就是模糊数据类型。


?????? (四)、使用异常来处理错误。


C#中以 try{} catch{}finally{}代码块来处理。这个具体在后面再谈。


?????? (五)、属性的使用。


用户定义的Attribute和其对应的数据类型或方法的元数据放在一起,这对于文档说明很有用,它们和反射技术一起使用,执行特定的任务。


在这里提及到的元数据以及反射,在后面我们将会详细讲述到。

相关文档

  • Java之public class和class声明区别
  • 新医院会计制度对医院成本管理的影响论文
  • 秋天怎样自制护肤面膜
  • 微信小程序wx.uploadFile真机测试上传失败问题
  • 【翻译贴】上海市第八届星光计划(2019年)技能大赛网站设计(中职组)决赛题目...
  • 七年级写过年作文:过年的欢笑作文
  • 学会宽容作文300字
  • Java工程师:成为一名月入过万的Java工程师有多难?
  • 从现代设计角度看中国民间美术的传承与发展论文
  • Python是一种什么语言
  • 学好初中语文的方法是什么
  • 财经类的考试证书有哪些
  • 高中
  • 审美感知与审美认知的区别
  • 我的初中生活的优秀日记
  • Leetcode 常见bug总结
  • 与幸福有关的文章
  • 手机CPU架构是关键
  • 失落伤感的空间说说个性签名
  • java和c语言的区别_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道!...
  • 给自己一个期待作文
  • 衡阳市创卫小知识答卷
  • 羊肉水饺怎么调馅没膻味
  • 关于正则表达式中的.*,.*?,.+?的理解
  • 高三班主任工作总结精彩多篇
  • 糖尿病人需要“上心”5个方面
  • 我们会深情拥抱我们会一直到老是什么歌《这就是爱情》完整版歌词在线试听
  • 求有关童年或青梅竹马的句子文艺唯美的谢谢
  • 影响个人职业生涯的因素
  • 蜂蜜和豆腐要隔多久才能吃
  • 猜你喜欢

  • 人教版八年级历史下册课件第12课 民族大团结 (共24张ppt)
  • 做好档案资料的收集与有效管理的研究
  • 【参考文档】农村公路建设调研报告(精选多篇)-推荐word版 (14页)
  • 浅谈低温压缩机结构设计
  • 解析netbios
  • 很喜欢吃鸡腿的简短说说19句
  • 麻辣红烧带鱼作文【小学六年级500字】
  • 连续激光器的原理
  • docker安装mysql
  • 描写苏州园林景色的成语
  • 治疗室消毒隔离制度
  • 上海自贸区对浙江省经济发展的影响和要求
  • 福建省经济贸易委员会关于同意厦门特拍拍卖有限公司等2家企业变
  • 2015年度大连市自来水集团水表有限公司销售收入与资产数据报告
  • 江苏恒大钢铁有限公司江阴分公司企业信用报告-天眼查
  • 西师大版六年级下册语文第五课冬阳童年骆驼队教学设计
  • 红米糕的做法
  • 鄂教版六年级上册品德与社会教学教研工作
  • 冰柠檬的母爱
  • 广州市民合再生资源开发有限公司荔城新利回收站企业信用报告-天眼查
  • 【精品推荐】儿童pm2.5口罩有用吗
  • 【Selected】中学生社会实践调查报告报告.doc
  • 5. K 个一组翻转链表
  • 天津市河北区高三数学总复*质量检测试题文
  • 糕点厂搅拌机操作说明书
  • 转发自治区发改委关于贯彻落实奶业整顿和振兴规划纲要实施意见的通知新政办发[2009]30号
  • 江苏省2015年下半年防水工程师考试试题
  • 德国小妞和中国宝贝,暑假都在干什么
  • 2019年第九章、航空运价与费用.ppt
  • 重庆润丰医药有限公司金太阳大药房九十一店企业信用报告-天眼查
  • 【新品推荐】高考数学二轮复* 第1部分 专题6 必考点15 定点、定值、最值探索性问题课件 文
  • 水利局入河排污口监测询价招投标书范本
  • 工程经济学-第4章1工程项目经济评价 共90页
  • 真情回忆
  • 数据库报错:不是group by表达式
  • 协同OA办公管理系统介绍
  • 广东粤中辉建设集团有限公司企业信用报告-天眼查
  • 变通的近义词反义词
  • 国庆节放假通知范文.doc
  • On $(P_5,bar{P_5})$-sparse graphs and other families
  • 塔吊基础受力计算
  • 可怕的“校长”
  • 电脑版