C#入门学习笔记之一

来源:互联网 发布:一张银行卡能开淘宝吗 编辑:程序博客网 时间:2024/06/10 07:18

这是我在CSDN上的第一篇博客,所以先唠叨一下开场白:

今天开始学习C#,主要是现在想做的一个项目的需要,之前学了点C和C++,想着能够今早掌握C#,在电脑上编个应用,如果能够那样也是挺酷炫的事儿。为了能够今早实现我的愿望,所以先买了一本C#入门经典,来看看。为了学有所获,所以每次看点书,就整理一下学习的内容,对自己也算是一个成长历史。(大牛们看了我写的肯定要嗤之以鼻啦~~呵呵)

----------------------------------------------------------------正文分割线------------------------------------------------------------

说到C#,还是得先来谈谈.NET Framework的含义:

 

多样性

.NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网路透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。

.NET框架是微软公司继Windows DNA之后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C++、Python等)的开发。

.NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行网络应用软件Windows应用软件和以及组件和服务(WEB服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。                              ---------维基百科

 

安全性

在现今的软件环境中,因为应用程序的来源多,它们执行的任务多,所以对应用程序代码的信任成为一个主要需求。

以往的安全结构,一种是提供了基于用户帐号的隔离和访问控制(威胁程序也有可能代表用户而获得相同的信任),另一种是“沙箱”模型(不能访问大部分资源)。而现在的解决方案是强化两个安全模型间的平衡:提供对资源的访问,以便以完成有用的工作,它需要对yy应用程序的安全性作细致的控制以确保代码被识别,检测,并给予合适的安全级别。.NET Framework就提供了一个这样的安全模型。

http://baike.baidu.com/view/1312598.htm?fromtitle=.NET+Framework&fromid=358577&type=syn#3

在百度百科这个词条里面详细介绍了.NET Framework的安全解决方案。这样,就对.NET有了一定的认识。

 

面对.NET Framework的多样性和安全性,我们再来聊聊.NET Framework的构成并且进一步看看他是如何编译语言的。

 

构成:

一个庞大的代码库,并且被分为许多个不同的模块。这样,不同的操作系统或者是环境就可以根据自己不同的特性,来支持其中的部分或者是全部模块了。

 

使用.NET Framework编写程序:

(1)C#.NET 兼容语言皆可)编写程序;

(2)将代码便以为CIL,存储在程序集中;

(3)执行代码是,使用JIT编译器将代码编译为本机代码;

(4)在托管的CLR环境下运行本机代码。


技术支持:

CIL:(Common Intermediate Language)通用中间语言的简称,这些代码并非专门属于一种操作系统。而是一种中间代码。

JIT:即时编译(Just In-Time compile),这是.NET运行可执行程序的基本方式,也就是在需要运行的时候,才将对应的IL代码编译为本机指令。传入JIT的是IL代码,输出的是本机代码,所以部分加密软件通过挂钩JIT来进行IL加密,同时又保证程序正常运行。同解释执行的代码相比,JIT的执行效率要高很多。这里链接讲的是Java中的JIT,但是原理应该是一样的

CLR: 通用语言运行时(Common Language Runtime)的简称,CLR是.NET框架的核心内容之一,可以把它看为一套标准资源,可以呗任何.NET程序使用。它包括:面向对象的编程模型、安全模型、类型系统(CTS)、所有.NET基类、程序执行及代码管理等。


0 0
原创粉丝点击