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基类、程序执行及代码管理等。
- C#入门学习笔记之一
- C#学习笔记之一
- Struts2入门学习笔记之一
- phantomjs入门学习笔记之一
- phantomjs入门学习笔记之一
- C# WinForm 学习笔记之一
- C#学习笔记之一:委托
- 《SQL查询凡人入门》学习笔记之一
- Java Reflection(反射) 入门学习笔记 之一
- JAVA学习笔记之一(对象入门)
- shell学习笔记之一——入门
- MySQL学习笔记之一 MySQL入门
- Node.js学习笔记之一:入门
- android学习笔记之一:快速入门
- Zynq-Linux移植学习笔记之一-入门
- C#泛型学习笔记之一(约束)
- l黑马程序员----------c#学习笔记之一
- CSharp学习笔记之一 C#中的类型
- apache bench -c concurrency 参数介绍
- Windows Xp Home Edition 安装IIS组件
- 如何在东南大学成为一名优秀的博士生同时成为一名卓越的科学家!
- ubuntu12.04中MySQL图形界面mysql-workbench的安装
- ACM图论500题(先备个份)
- C#入门学习笔记之一
- OpenGL 矩阵变换机理
- HDU1712二维01背包
- 如何学好编程-写给还在学校的学生
- android 刷机及基础常识
- 优秀国内外期刊及资源列表
- block 用法
- mongodb-2.6.0 在win7 64下的安装和服务启动
- 软考历程(2)——海明码校验