C#1-1知识准备
.net的含义
一般指.Net Framework框架,是microsoft为开发应用程序而创建的一个平台。
.net 的内容
- 主要包含一个庞大的代码库。可以在客户语言(如C#)中通过面向对象编程技术(opp)来使用这些代码。这个库分为多个不同的模块,这样就可以根据希望得到的结果来选择使用的部分。
- 定义了基本的类型。这也被称为通用类型系统(CTS)。可以在各种语言之间交互操作。
- 包含.NET公共语言运行库(CLR)负责管理用.NET库开发的所有应用程序的执行。
C#:
C#是运行在.NET CLR上的,用于创建应用程序的一种高级编程语言。是一种面向对象的语言。
C#能编写怎样的应用程序:
- 桌面应用程序:使用.NET Framework的Windows Presentation Foundatior(WPF)模块就可以简便的生成这种程序(以前是应用windows forms生成)。
- Windows store应用程序:win8 中新引入的一类应用程序,针对触摸屏设计,通常是全屏运行。
- Web应用程序:它们是一些web页面,可以通过web浏览器查看。可以用C#语言通过Web Forms创建ASP .NET应用程序。
- WCF服务:这是一种灵活创建各种分布式应用程序的方式。使用WCF服务可以通过局域网或internet交换几乎各种数据。
.NET的两种交互模式
- C/S:客户机(client)/服务(server)模式 :客户端需要安装专用的客户端软件。
- B/S:浏览器(browser)/服务器(server)模式: 客户只需安装一个浏览器
.NET Framework编写应用程序的过程
- 使用.NET Framework编写应用程序,就是使用.NET代码库编写代码(支持Framework的任何一种语言)
- 为执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码(native code)这种转换称为编译代码,由编译器执行。此过程包含两个阶段:1、把代码转化为通用中间语言(CIL),编译过程由VS完成。2、由JIT把CIL编译为本机代码。
CIL
- 在编译使用.NET Framework库的代码时,不是立即创建专用于操作系统的本机代码,而是把代码编译为通用中间语言(CIL)
- 这些代码并非专门用于任何一种操作系统,也非专门用于C#及其他.NET语言,如Visual Basic.NET也可以在第一阶段编译为这种语言,开发C#应用程序时,这个编译步骤由IDE完成。
程序集
- 在编译应用程序时,所创建的CIL代码存储在一个程序集中。
- 程序集包括可执行的应用程序文件(exe)和其他应用程序使用的库(dll)
Jit编译器
- Jit编译器:即时编译器
- Jit编译器能够将CIL编译成为各种不同的机器代码,以适应对应的系统平台,最终使得程序在目标系统中得以顺利的运行。
托管代码
- 在将代码编译为CIL,再用jit编译器将它编译为本机代码后,CLR的任务还没全部完成,还需要管理正在执行的.NET Framework编写的代码(这个执行代码的阶段通常称为运行时ruantime)。即CLR管理着应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试等。
- 相反,不受CLR控制的应用程序属于非托管类型,某些语言如C++可以用于编写这类应用程序,例如,访问操作系统的低级功能。但在C#中,只能编写在托管环境下运行的代码。我们将使用CLR的托管功能,让.NET自己与操作系统进行交互。
控制台程序
为兼容ms-dos而创建的程序。
桌面应用程序
创建WPF Application的新项目,也可以使用WindowsForms来创建桌面应用程序。
C#基础语法
C#程序结构
c#代码有一系列语句组成,每条语句都用一个分号结束,一行可以
有多条语句(不推荐),一个语句也可以分多行。 代码块用{}
包围,花 括号不需要带分号。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//引用命名空间
//一个命名空间内的项,同一命名空间内的其他代码只要通过名称引用就可以访问它。在其他的命名空间内引用该项要在项名之前加空间名称:空间名称.项名称。
namespace _2._1_Csharp程序结构 ------》//命名空间或项目名称
{
class Program ----》program类
{
static void Main(string[] args) ------》 static静态 void无返回值 main函数 程序执行的起点
{
}
}
}
深入了解VS
.sln解决方案文件
.csproj 项目文件
.cs类文件
解决方案 包含 项目文件 包含 类文件
命名空间及标识符、关键字
命名空间(namespace):是.NET中提供应用程序代码容器的方式,这样
就可以唯一的识别代码及其内容
标识符:是编程人员为常量、变量、数据类型、方法、函数、属
性、类、程序定义的名称。
关键字:对于C#编译器而言,具有特定含义的名称,比如程序中的
using,class,void都属于关键字。如果错误的将关键字用
作标识符,编译器会产生一个错误。
标识符的规定
- 只能由大写字母、小写字母、数字、和下划线组成。
- 必须以字母或下划线开头。
- 字母区分大小写。
- C#关键字作为标识符就在标识符前加上@符号。
- 标识符的命名最好好辨认。