了解C#
了解C
C#能编写那些程序
Windows桌面应用程序
桌面应用有自己独立的进程与操作系统进行消息通讯,操作系统对事件进行检测,传递给桌面应用进程,桌面应用进程对这些消息进行解释,处理后,把处理结果ui变化告诉操作系统,操作系统再展示出来。
Web应用程序
web应用程序,是浏览器通过http协议,与web服务器进行通讯,用户申请服务器的资源,服务器接收到消息后,对申请资源进行解析,然后把web页面描述通过网络发送回浏览器,展示给用户。
Web服务
Web服务实现分布式应用程序的一种方式.
以上只是列出三种常用的应用程序
原文链接
什么是 .NET Framework
.NET Framework就是应用程序运行时的执行环境,为应用程序的执行提供一下几种服务.
- 全面的类库
 - 内存管理
 - 通用类型系统(CTS)
- CTS定义了可以在中间语言(在编译器将源代码编译为目的码的过程中,会先将源代码转换为一个或多个的中间表述,以方便编译器进行最佳化,并产生出目的机器的机器语言)中使用的预定义数据类型
 
 - 开发结构和技术 (.NET Framework提供特定应用程序所需的库,如Web应用程序的ASP.NET技术)
 语言互操作性 (面向 .NET Framework的语言编译器都提供了生成中间语言代码的机制,这种机制使得不同的语言之间进行互操作成为可能)
.NET Framework的组成
- 公共语言运行时(CLR包含CTS,CLS二个组成部分,我们将受CLR管理的代码称为
托管代码,反之为非托管代码)- 通用类型系统(CTS 用于解决不同语言之间数据类型不同的问题.例如C#整型是
int,vb.net中却是Integer)

 - 公共语言规范(CLS是一种最低的语言标准,它制定了一 .NET 平台为目标的语言所必须支持的最小特征,以在及某一种语言与其他.NET语言之间实现互操作所需要的完备特征)

 
 - 通用类型系统(CTS 用于解决不同语言之间数据类型不同的问题.例如C#整型是
 .NET Framework(.net framework类库就是一组DLL程序集集合,其中包含了大量定义好的类型,这些类都公开了一些功能. 下图更好的理解公共语言运行时,类库与应用程序之间的以及整个操作系统之间的关系)

C#与 .NET Framework的关系

C#代码的执行过程
- C#代码编译为中间语言
 - 中间语言代码编译为本机代码(即GPU指令,整个过程由JIT编译器来完成)
 - 执行本机代码(编译好的本机代码会被放置到一个缓存区中缓存,下次调用时将直接运行现有代码)
 
随机推荐
- java实现邮箱发送邮件
			
第一步:封装发件人账号密码 import javax.mail.Authenticator;import javax.mail.PasswordAuthentication; /** * 发件人账号密 ...
 - target信息异常
			
当工程的编译target信息异常的时候,可以删除YourProjectName.xcodedeprij/xcuserdate目录. 该目录存有当前用户的各种工程状态信息,删除后重启Xcode,Xcod ...
 - 二  sql语句,常用字段数据类型
			
MySQL中常用DDL命令 database definition language 与 DML命令 : database definition language 操作数据库: 创建数据库 : ...
 - 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-danger" 类的文本样式
			
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
 - 使用 sp_attach_db 系统存储过程附加数据库时---转载
			
//附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时. sp_attach_db:将数据库附加到服务器. 语法 sp_attach_db [ @dbna ...
 - Celery的常用知识
			
什么是Clelery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统.专注于实时处理的异步任务队列.同时也支持任务调度. Celery的架构由三部分组成,消息中间件(message ...
 - 几款Java模板引擎的性能评测
			
参评的几款模板引擎为:XMLTemplate(简称XT)Velocity(简称VT)CommonTemplate(简称CT)FreeMarker(简称FT)Smarty4j(简称ST)直接的java代 ...
 - rinetd 进行转发
			
目前云数据库 Redis 版需要通过 ECS 进行内网连接访问.如果您本地需要通过公网访问云数据库 Redis,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现. 在云服务器 E ...
 - MQTT v5 (MQTT 5.0) 新特性介绍
			
https://blog.csdn.net/mrpre/article/details/87267400 背景 MQTT v3.1.1 作为一个经典的版本,一般能够满足大部分需求:为了避免落后,我们也 ...
 - activity标题栏和状态栏操作
			
修改显示的标题 1.修改AndroidMainfest.xml文件的label标签 2.setTitle("标签"); 去掉标签的显示 1.android:theme=" ...