C#程序设计.唐大仕.01.C#程序设计简介
C# 程序设计简介
C# 语言简介
- 历史
- C(60年代) -> C++(面向对象,内容多,复杂) -> Java(1995) -> C#(2001/2002)
- Java:C++--
- 面向对象
- 简单,安全
- 与 Web/Mobile 的紧密结合
- C#之父 —— Anders Hejlsberg
- pascal 的发明者之一
- C# 为了对抗 Java 而推出的
.NET
- 通用的编程模型
- 包括客户端、服务器和应用服务
- 开发工具
历程
跨平台
- 现在推出的 .NET Core 是其跨平台的版本
- https://dotnet.github.io/
- 微软开布的跨平台的开源系统
- 可运行于 linux 及 mac 平台上
- 类库大部分是兼容的
- 开源的 mono 项目可以有 gui 界面
- https://www.mono-project.com/
- 另外 ,还有用 C# 开发跨平台的手机程序
- Xamarin
- .Net 5 整合了 .net standard, .net core, mono 等
- 即将发布
.NET 5
.NET 版本
架构、语言、工具
统一的编程 API:NET Framework 类
.NET 主要特性
- 简单的开发和部署
- 统一的编程模型
- 提供健壮、安全的执行环境
- 支持多种编程语言
- 丰富的类库支持
公共语言运行时( CLR )
- common language runtime
- 设计目标
- 简化开发:安全性、内存管理
- 简化应用程序部署
- 基类库
- 支持多种语言
- 相当于 Java 中的虚拟机
编译和执行
- .exe 文件中不是 CPU
指令,而是中间代码,在执行的时候即时编译成本机代码执行
- IL 指令( Intermediate Language) CIL MSIL
- 元信息
- 反编译的工具
- ildasm.exe 或用 ILSpy
- C:FilesSDKs.1A.1 Tools
学习网站
https://www.cnblogs.com (中文,强烈推荐)
https://www.codeplex.com (源码,强烈推荐)
https://www.codeproject.com (英文,强烈推荐)
https://code.msdn.microsoft.com/ (推荐)
Framework 文档
- http://msdn.microsoft.com/zh-cn/library/
- 或者:http://msdn.microsoft.com
- 文档-->.NET开发-->。Net framework4.5-->.NetFramework类库
- 或者: http://msdn.microsoft.com/zh-cn/library/gg145045(v=vs.110).aspx
基本库的源程序
C# 快速入门
- windows 窗体程序
- Shift+F7:界面设计
- 修改属性:属性窗口
- 添加事件:属性窗口中的 “闪电” 标志
保存
- 程序文件 .cs
- 工程文件 .csproj
- 解决方案 .sln
对象
- 属性 property
- 方法 method
- 事件 event
1
2
3this.button1.Click += new System.EventHandler(this.button1_Click);
// 或简写如下
this.button1.Click += this.button1_Click;Timer 控件可以设置自动触发事件
1 | // 使用(导入) |
- 自动生成的代码
- 对象的生成(new)
- 事件的注册(+=)
- 如果设置了控件的 autosize 属性为 true,那么 size 属性失效
基本应用类型
常见应用程序类型
- 控制台程序
- Windows 应用程序
- WPF 程序
- Web 应用程序
- Mobile 应用程序
控制台程序
- helloworld.cs
1 | using System; |
- 类定义
- 程序的基本组成部分是类(class),如本例中的HelloWorld类。
- Main() 方法
- 程序的入口是Main()方法。它有固定的书写格式:
- public static void Main(string [] args) {}
- 可以没有 public,可以没有 string [] args
- 程序的入口是Main()方法。它有固定的书写格式:
ctrl + F5
能够让程序运行完停一会
Windows 应用程序
- 又被称为是 WinForm 应用
- 可视化的设计窗体
- 事件驱动的编程机制
WPF 程序
- Windows Presentation Foundation
- 在 Windows 上运行
- 使用 XML(xmal)来定义界面
Web 应用程序
- 在.NET中也称 ASP.NET 应用程序
- Active Server Page
- 应用程序在服务器上运行,客户端使用浏器(如IE)来进行输入输出
- 使用 html/css 来定义界面
- 这种方式称为 B/S(Browser/Server)方式
- 与传统的 C/S(Client/Server)相区别
- B/S 应用程序在使用、部署上有独特的优势
Mobile 应用程序
- 又称 Windows Phone 程序
- 运行于手机、PDA 等移动设备
- 大部分类是与 windows 兼容的,但功能有裁减
- 另外,Xamarin 可以开发跨平台的手机应用
- (win phone, android, iphone)
比较
程序中的输入与输出
WinForm
- 直接使用控件实现
- 在 win10 中,默认缩放为 125%,winform 的 .exe 文件会有放大模糊的问题
- 可以对 bin/Debug/xxx.exe 进行如下设置
- 属性 -> 兼容性 -> 更改高 DPI 设置 -> 替代高 DPI 缩放行为,缩放执行:应用程序
控制台应用程序
1 | using System; |
开发工具
一些开发工具
EditPlus 配置
设定语法加亮文件
- Tools|Preferences|Settings & Syntax|Add
- 描述填 csharp, 文件扩展名 cs;aspx
- 选择语法加亮文件 csharp.stx
配置编译工具
- Tools | Config User Tools | Add
- MenuText 填:Compile C#(编译C#)
- Command 选:D:.NET.0.50727.exe
- Argument 填:/unsafe $(FileName
- InitDir 填:$(FileDir)
- 打勾:Capture Output
配置运行工具
- Tools | Config User Tools | Add
- MenuText 填:Run C#(运行C#)
- Command 填:cmd /c
- Argument 填:$(FileNameNoExt).exe
- InitDir 填:$(FileDir)
- 不打勾:Capture Output
notepadd++
- NppExec 插件
1 | ## 编译 |
命令行
1 | # 编译 |