一. 1.1. 概念:.NET 和 C#
l .NET/DOTNET: 一般指. Net Framework 框架. 一种平台, 一种技术. 它提供了一个稳定的运行环境; 来保障我们. Net 平台正常的运转.
l C#(C Sharp): 一种面向对象的编程语言, 可以开发基于. net 平台的应用.
l (*) Java 即是一种平台又是一种编程语言
一. 1.2. .NET 都能干什么?
l 桌面应用程序 Winform
n .net 开发的桌面应用程序叫 Winform 应用程序
l Internet 应用程序 ASP.NET
n .net 开发的 internet 应用程序叫 ASP.NET 应用程序
l 手机开发 Wp8
n (.net 可以做手机开发, Wp8, 目前在中国刚刚起步, 也许 这是一个机会)
n Wp8 已经来袭, 要善于抓住机会, 敢于尝试.---- 掌握分寸
l Unity3D 游戏开发或者虚拟现实
一. 1.3. .NET 两种交互模式
l C/S: 客户机(Client)/ 服务器模式(Server)
n 如: QQ
n (C/S 是 Client/Server 的缩写. 客户端需要安装专用的客户端软件.
l B/S: 浏览器(Browser)/ 服务器模式(Server)
n B/S是 Brower/Server 的缩写, 客户机上只要安装一个浏览器
l 关于 B/S 和 C/S 的区别在下面备注中有
n 区别
u B/S 架构是针对 C/S 架构缺点进行改进后提出的网络结构模式. B/S 结构属于 C/S 结构, 是一种特殊的 C/S, 因为浏览器只是特殊的客户端.
u C/S 可以使用任何通信协议, 而 B/S 架构规定必须实现 HTTP 协议.
n 结构
u B/S 结构
l 维护和升级简单, 我们只要对服务器端进行维护和升级即可, 不需要对成千上万的客服端进行维护和升级, 减少了人力资源成本.
l 随时随地都可以访问, 只要有一台连接互联网和安装了浏览器的计算机就可以访问.
l 减轻了客户端电脑载荷, 客户端电脑只要运行少部分程序就能实现. 因此对客服端电脑要求不高, 对服务器端负荷较重, 由于主要的功能都集中到了服务器端, 因此对服务器要求高, 但总体而言, 还是大大降低了成本.
u C/S 结构
l 充分发挥客户端 PC 的处理能力, 很多数据可以通过客户端的处理后再发给服务器, 降低了服务器的负荷, 提高了速度. 但维护和升级比较复杂, 维护和升级是针对成千上万的客户机的.
l 必须安装专用的客户端软件. 客户端是成千上万的, 要安装专用软件, 是多么大的工作量, 如果一台客户机出现了问题, 如: 感染病毒, 计算机故障等等原因, 都需要进行安装或维护. 系统软件需要升级的时候, 每一台客户机都需要重新安装系统软件, 维护和升级成本相当的高.
l 对客户机的操作系统有限制, 对一些操作系统和新开发的操作系统不兼容. 目前产品更新换代十分的快, 要针对不同的操作系统系统版本开发不同的客户机软件, 对成本而言是相当大.
n 总结
u B/S 对 C/S 而言, B/S 具有的优势.
l 分布性: 可以随时随地进行查询和浏览等业务.
l 功能业务扩展比较方便: 增加服务器的功能, 就能增加浏览器端的功能.
l 维护简单方便: 改变服务器端数据即可以实现所有用户同步更新.
l 开发简单, 共享性强, 成本低, 数据可以持久存储在服务器端而不必担心数据的丢失.
一. 1.4. IDE 介绍
l IDE(Integrated Development, 集成开发环境)是用于提供程序开发环境的应用程序, 一般包括代码编辑器, 编译器, 调试 https://baike.baidu.com/item/调试 器和图形用户界面等工具. 集成了代码编写功能, 分析功能, 编译功能, 调试功能等一体化的开发软件服务套. IDE 多被用于开发 https://baike.baidu.com/item/html 应用软件. 例如, 许多人在设计网站时使用 IDE(如 https://baike.baidu.com/item/HomeSite , https://baike.baidu.com/item/DreamWeaver 等), 因为很多项任务会自动生成.
l Visual Studio 2010 简介:
n 一套完整的开发工具集
n 用于开发桌面应用程序, ASP.NET web 应用程序, xml,Web Service, 移动应用程序
n 为快速开发提供强大支持(.net 的 IDE 就是 vs2010,vs2012,vs2013)
一. 1.5. IDE 及. NET 的版本介绍
一. 1.6. MSDN 介绍
MSDN 的全称是 Microsoft Developer Network. 这是微软公司面向软件开发者的一种信息服务. MSDN 实际上是一个以 Visual Studio 和 Windows 平台为核心整合的开发虚拟社区, 包括技术文档, 在线电子教程, 网络虚拟实验室, 微软产品下载(几乎全部的操作系统, 服务器程序, 应用程序和开发程序的正式版和测试版, 还包括各种驱动程序开发包和软件开发包),Blog,BBS,MSDN WebCast, 与 CMP 合作的 MSDN 杂志等等一系列服务.
这里要介绍一下, vs 的帮助在安装包中的 ProductDocumentation 这个文件夹下, 安装好 vs10 后点击 vst 的管理文档, 点击本地安装找到那个文件夹下的 HelpContentSetup.msha 这个文件安装即可
一. 1.7. Visual Studio 介绍
一. 1.7.1. 引用命名空间:
一. 1.7.1.1. 命名空间
编译器接受源代码文件并生成名为 程序集 的输出文件.
在项目中, 可能会使用到其他程序集的类或类型, 这些程序集可能来自 BCL, 来自第三方供应商或是你本身创建的, 而这种程序集可以称为 类库, 而且它们的文件后缀通常是 .dll 而不是 .exe.
命名空间 是共享命名空间名的一组类和类型, 命名空间内的类型称为命名空间的成员.
为了避免引用时发生同名冲突, 可以定义命名空间来区分, 那些命名空间名, 分隔号, 以及类名的完整字符串组合叫做 类的完全限定名.
一个源文件可以包含任意数目的命名空间声明, 它们可以是 顺序 的也可以是 嵌套 的. 然而嵌套与顺序的功能都是一样的, 虽然嵌套声明命名空间位于父空间内部, 但是其成员并不属于父空间, 二者的命名空间都是相互独立的.
同时命名空间不是封闭的, 可以在该源文件后面或另一个源文件中再次声明它, 以对它增加更多的类型声明.
一. 1.7.1.2. using 指令
完全限定名可能相当长, 此时可以使用 using 命名空间指令 和 using 别名指令, 它们必须放置在源文件的顶端(即任何类型声明之前), 同时它们作用于当前源文件的所有命名空间.
一. 1.7.1.3. using 命名空间指令
using 命名空间指令可以通知编译器你将要使用到的来自某个指定空间的类型, 然后可以使用简单的类名而不必使用全路径来修饰它们.
当编译器遇到一个不在当前命名空间的名称时, 它会检查在 using 命名空间指令中给出的命名空间列表, 并把该未知名称添加到列表中的第一个命名空间之后.
一. 1.7.1.4. using 别名指令
using 别名指令允许起一个别名给 命名空间 或 命名空间内的一个类型.
示例:
一. 1.7.2. 项目名或命名空间名:
它们是 VS.NET 中的各种语言使用的一种代码组织的形式 通过名称空间来分类, 区别不同的代码功能 同时也是 VS.NET 中所有类的完全名称的一部分.
命名空间是用来组织和重用代码的.
通常来说, 命名空间是唯一识别的一套名字, 这样当对象来自不同的地方但是名字相同的时候就不会含糊不清了. 使用扩展标记语言的时候, xml 的命名空间是所有元素类别和属性的集合. 元素类别和属性的名字是可以通过唯一 xml 命名空间来唯一.
在 xml 里, 任何元素类别或者属性因此分为两部分名字, 一个是命名空间里的名字另一个是它的本地名. 在 xml 里, 命名空间通常是一个统一资源识别符 (URI) 的名字. 而 URI 只当名字用. 主要目的是为了避免名字的冲突.
一. 1.7.3. Program 类:
具有相似属性和方法的对象的集合.
一. 1.7.3.1. 定义类:
[修饰符] class 类名
{
类成员
}
一. 1.7.3.2. 类的访问修饰符: public internal
l public: 可访问域是所在的程序和任何引用的程序 访问不受限制
语法:
public class 类名
{
类成员
}
l internal: 可访问域定义范围内 (默认访问修饰符)
语法:
(internal) class 类名
{
类成员
}
一. 1.7.3.3. 类成员: 数据成员和字段
l 数据成员: 字段和常量
n 字段: 变量
n 声明: 类型 字段名
例:
- public class Persion
- {
- public string name;
- }
l 方法成员 (方法是类的行为, 告诉我们类能够做什么,)
n 实例方法:
修饰符 返回值类型 方法名(参数列表)
{
方法体
}
修饰符: 如: public,private,protected,internal
返回值类型: 若方法无返回值, 则使用 void
例:
- public class Example01 // 实例方法
- {
- public void SayHello() // 定义一个无参无返回的方法
- {
- Console.WriteLine("Hello There")
- }
- static void Main()
- {
- Example01 objA=new Example01()
- objA.SayHello() // 创建对象并调用方法
- }
- }
n 静态方法:
修饰符 static 返回值类型 方法名(参数列表) // 增加了 static 关键字
{
方法体
}
例:
- public class Example01 // 实例方法
- {
- public static void SayHello() // 定义一个静态方法
- {
- Console.WriteLine("Hello There")
- }
- static void Main()
- {
- Example01.SayHello() // 不需要创建对象
- }
- }
☆静态方法与实例方法的区别: 静态方法只与类有关, 它不依赖于对象的存在而存在; 实例方法则在对象存在后才能使用.
l 4, 成员的访问修饰符: public,private,protected,internal
n public: 公有成员
n private: 私有成员
n protected: 保护成员
n internal: 内部成员
一. 1.7.4. Main 函数:
一. 1.7.4.1. Main()方法的简介
l 唯一性. 一般情况下, 一个 C# 可执行程序只有一个 Main 函数, 作为程序入口. 但是在某些情况 (如单元测试中), 程序拥有多个 Main 函数,, 这个时候我们就需要通过命令行指定以哪个 Main() 方法作为程序的唯一入口.
l 静态性. Main()方法通过 static 修饰, 这个主要是让我们可以通过类名加方法的形式调用 Main()方法, 使得我们不需要创建对象的实例 (即 new 出该对象) 而直接调用 Main 函数. 使用静态 static 修饰符的原因:
l Main 的参数. 分析 Main()方法的参数是一个字符串(string[] args), 这个参数可以包含任意数量的命令行输入参数.
l Main 函数的修饰符. 一般不加修饰符, 默认为 private, 但可以 public 修饰符, 但编译器在编译时会设置为 priavte.
一. 1.7.4.2. Main()方法为什么使用 static 修饰
假设没有 static 关键字, 那意味着需要用生成一个实例后才可以调用这个Main 方法, 而Main 方法是程序入口点, 你没有进入Main 方法, 自然无法生成一个实例, 既然没有实例, 那就无法调用Main 函数, 岂不矛盾? 所以Main 函数被设置为 static. 直接通过类名加方法的形式调用 Main()方法, 使得我们不需要创建对象的实例 (即 new 出该对象) 而直接调用 Main 函数.
一. 1.7.4.3. Main()方法的四种形式
l 无返回值, 以字符串数组作为参数
l 无返回值, 无参数
l 返回 int 类型数值, 以字符串数组作为参数
l 返回 int 类型数值, 无参数
一. 1.7.4.4. Main()的参数 string[] args 的含义
args 是用来处理命令行参数的. 命令行参数, 就是你运行这个程序的时候给它传的参数. 它是可选项, 不是必须的. 具体使用如下:
l 编写如下程序
l 编译完成该程序后, 在 Debug 文件中找到该. exe 文件, 复制到桌面, 再复制路径 + 文件名, 然后在命令行模式下输入 "C:\Users\dwa1124\Desktop\Test aa bb cc". 运行后我们发现:
一. 1.7.5. .sln: 解决方案文件
一. 1.7.6. .csproj: 项目文件
一. 1.7.7. .cs: 类文件
一. 1.7.8. VS 中的常用快捷键
l Ctrl+K+D: 快速对齐代码
l Ctrl+Z: 撤销
l Ctrl+S: 保存(一定要经常保存!)
l Ctrl+J: 快速弹出智能提示
l Shift+End ,Shift+Home
l Ctrl+K+C: 注释所选代码
l Ctrl+K+U: 取消对所选代码的注释
l F1: 转到帮助文档
l 折叠冗余代码:#Region 和 #EndRegion
一. 1.7.9. 编码注意事项
l 写代码切忌括号错误!!!
l 代码中所有的标点都是英文半角的标点.
c# 代码中每行代码以分号结束.
来源: http://www.bubuko.com/infodetail-2962197.html