C#入门基础编程(第一章)

2014/6/15

学习C#一段时间了,回头在csdn这里找东西时发现,基础入门性的很少,慢慢加深文章难度的也很少,在这里,虽然这些计算机大牛们的精彩文章很好,但是作为一个C#编程爱好者与一个计算机爱好者,我想在这里写一些东西使大家从零基础入门到热爱编程到成为C#高手。平时由于时间比较紧张的原因,我会不定时的尽量尽快为大家更新内容,如果有疑问的可以在后面跟帖,我会尽力解答。所有内容纯手打,参考书籍《C#高级编程 第八版C#》下面开始我们的C#快乐之旅吧。

第一章  .NET体系结构


1.1  C#与.NET的关系

C#语言不能独立使用,而必须和.NET Framework 一起考虑,C#的结构和方法反映了.NET的基础方法论。

有一个很重要的问题就是:‘’C#就其本身而言只是一种语言,尽管它是用于生成面向.NET的代码,但它本身不是.NET的

一部分。.NET支持的一些特性,C#并不支持,而C#支持的一些特性,.NET并不支持(如运算符重载。)


1.2  公共语言运行库

.NET的核心是其运行库执行环境,称为公共语言运行库(CLR)或.NET运行库。通常将在CLR控制下运行的代码称为托管代码(managed code).在.NET中编译分为两个部分:

1:将源代码编译为Microsoft中间语言(il)。

2:CLR把il编译为平台专用代码。

对于代码,这有很重要有点:平台无关性,提高性能和语言互操作性。

(ps:今晚开始的有点晚,这会好瞌睡,大家先看着,我会继续更新的。)


2014/6/16


1.21 平台无关性


这意味着包含字节码指令的同一文件可以放在同一平台,运行时编译过程的最后一阶段可以很轻松地完成。这样的代码可以运行在特定的平台。换言之,编译为中间语言,就可以获得.NET的平台无关性,这与编译为Java字节码得到的Java平台无关性是一样的。


2. visual c++ 2012

visual C++ 有许多microsoft 对windows 的 特定扩展。如果让C++代码在.NET中运行,就可以在代码中加入下述命令:

# using <mscorlib.dll>


托管C++代码比C#代码更优越的一点是可以再托管C++中调用非托管C++类,而不必采用COM互操作功能。

3. COM 和COM+

从技术上讲,COM和COM+并不是面向.NET的技术。因为基于它们的组件不能编译为IL(但如果原来的组件式基于C++编写的,那么使用托管C++在么中程度可以这么做。)但是COM+仍是重要的工具,因为它包含一些.NET不包含的特性。一般情况下,把新组件编写为.NET组件,大多是为了方便,因为这样可以利用.NET基类和托管代码的其他优点。


4.windows运行库


windows 8 提供了一种新的运行库,可被新的应用程序使用。这个运行库可在visual basic      C#     C++和javascript

中使用 ,用在不同的环境,会有相应的变化,这种多样性是通过语言投影实现的。


4.1  中间语言

中间语言有如下特征:

(1)面向对象和使用接口。

( 2)值类型和引用类型的显著差异。

 (3)强数据类型化。

 (4)使用异常来处理错误。

(5)使用特性。



4.2 程序集

程序集是包含编译好的,面向.NET Framework 的代码的逻辑单元。他是一个完全自描述性的,是一个逻辑单元,而不是物理单元,可以存储在多个文件中。注意库代码和可执行代码使用相同的程序集结构。唯一区别是,可执行代码包含一个主程序入口点,而程序及不包含。

//ildasm是一个基于windows的实用程序,可以用于检查程序集的内容,包含程序集清单和元数据。

程序集分为私有程序集和共享程序集。


(PS:各位大神有什么意见或者发现错误地方给小弟指点一下啊,谢谢啊,嘿嘿,今晚就写这点吧,睡觉去了。。)


2014/6/17

5   .NET Framework 类


至少从开发人员的角度看,编写托管代码的最大好处是可以使用.NET基类库。.NET基类是一个内容丰富的托管代码

类集合,它可以完成以前要通过的windows API 来完成的绝大多数任务。.NET基类的一个主要优点是他们非常直观和

易用。例如,要启动一个线程,可以调用thread 类的start()方法。要禁用TextBox,应把textbox 对象的enabled 属性

设置为false。.NET基类的新增内容就是把visual basic 和Java 库的易用性 和windows API函数较为丰富的功能结合起

来。但是windows仍有很多功能不能通过基类来使用,需要调用API函数。


6.    命名空间


命名空间是 .NET 避免类名冲突的一种方式,他不过是数据类型的一种组合方式。可以相互嵌套。



(PS:到这里第一章就要结束了,.NET的体系结构远远不止这些,在后面的章节中我会慢慢加入,大家要相信自己,

随着章节一章一章的前行,你会发现自己在不断进步中,大家一上来不要急着敲代码,一定要做到全局眼光看待这门

课程,基础东西学好了,编程就是消遣,后面的章节中,每一章节会开始新的一篇文章,好了,让我们进入第二

章。)














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值