C#学习笔记(一)

 

计算机程序运行方式的三个发展阶段:

1.单一·本地 可执行文件时代。
2.分散的、基于DLL文件的时代。
3.基于虚拟机的应用程序执行模式。

Managed Execution 受控的执行或托管的执行。主要起到可移植性及安全执行的作用

CLR=Common Language Runtime。FxCL=Framework Class Library。
无论自己的应用程序还是通用的类库都运行在CLR上。

Assembly概念
Assemblies是.net对组件的称呼,是.net中的部署单元,一个Assembly=1个或多个源文件的编译结果。即程序集。FxCL Assemblies存储于GAC中,即Global Assembly Cache。在DOS时代必须指定应用程序的位置才能执行。在.net中提供了Assembly搜索算法,可根据.config文件(类似于INI文件)自定义Assembly搜索,不需要使用注册表。算法:
1.应用程序要指定Assembly版本。
2.在GAC中搜索相应版本。
3.如果没有找到而且存在Config文件则到配置文件指定的位置搜索。否则到应用程序所在路径搜索。
4.全部找不到则发生错误,程序终止。

版本信息是通过 manifest编译到DLL或EXE中来发现的。其中存储了版本和依赖关系等信息。避免了使用注册表存储信息,不会再发生使用错误DLL版本的现象。由于使用了machine config、user config、app config等,也不会发生“配置文件陷阱”现象。

部署方法

DOS时代的步骤是通过XCopy进行的。
Windows下通过安装程序,将所需文件复制到客户机,并将DLL文件注册。
.net时代第一种是通过Xcopy来进行的,第二种是将一部分安装到EXE文件所在目录,另一部分安装在GAC中。GAC允许共享、安装同一个Assembly的多个版本。第三种是通过配置文件自定义部署,自定义安装位置。第四种是ClickOnce部署,程序自动检测版本更新。PDB文件是Debug支持用的文件,正式发布时不需要。Program Debug Database  。

何时需要使用Static?1.需要全局数据和代码的时候

只读字段与常量类型:

例:public static readonly double Price=3.72。它和常量一样一旦赋值就不能修改。但只读的字段可以在定义时赋值,或者在构造函数中赋值,也可以不赋值。但常量在编译时必须是可计算的。常量只能使用内建类型,但是只读字段可使用任何值类型和引用类型。

名称空间可使用别名。using xx= xxxx.xxxx.xxxx
名称空间与与物理位置没有关系,这一点和Java的Package是不同的。 

个人体会

学习了C#的第一课,感觉比较深的就是,C#和VB有一点不同,它确实是从一开始就让你从面向对象的方式来编程。在VB编程中,尽管也是面向对象,但一些具体细节被隐藏了,例如我们照样可以声明全局变量、全局函数。但是C#中就不行,必须用类的静态成员来声明。这一点虽然很不起眼,但是对我这个刚刚从VB转过来的人来说却是感受很深的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值