初识C#、.NET Framework

初识C#

  • 概述
  • C#与.NET Framework的关系
  • C#和ASP.NET WebForm的关系
  • 编写第一个WebForm程序
    • 创建Web应用程序
      • 新建
      • 选择ASP.NET Web应用程序
      • 创建Web窗体
      • 查看项目结构
      • 编写代码
        • 运行程序
        • Page_Load与IsPostBack
        • 打断点调试
      • 基本概念
        • 命名空间
        • 语句的结束
        • 注释
        • 标识符
        • 语句
        • C#编码规则
        • 预编译命令

概述

C#是微软(Microsoft/microsoft)公司基于.NET FrameWork框架设计的面向对象的程序设计语言,并且是类型安全强类型语言C#高级语言是运行在.NET FrameWork框架之上的
C#是从C和C++派生来的一种简单、现代、面向对象类型安全的编程语言,并且能够与.NET框架完美结合。
C#具有如下特点:

  1. 语法简洁
  2. 彻底的面向对象设计
  3. 与Web紧密结合
  4. 灵活的版本处理技术。
  5. 完善的错误、异常处理机制。
  6. 强类型的
    除了C#是面向对象的语言,像Python、php、Java、JavaScript也是面向对象的语言。

C#与.NET Framework的关系

  1. .NET Framework微软推出的在Windows平台上的开发框架,只是一个平台,不是语言,而C#才是编程语言
  2. 在.NET Framework框架之上可以多种语言,包括VB、C#、J#等语言。其中C#是微软主推的编程语言。
  3. 框架结构图:
    初识C#、.NET Framework_第1张图片
  • 操作系统:.Net Framework是运行在Windows操作系统之上的,不能运行在其它操作系统之上,如:苹果的Mac OS X、开源的Unix Linux等。
  • CLR:CLR是Common Language Runtime的缩写,中文含义是:公共语言运行时。提供一个运行时 环境,使用C#、VB编译的代码最终要被编译为能被CLR运行的可执行代码。
  • FCL:FCL是Framework Class Library的缩写,中文含义就是.Net Framework框架类库,包含有几千个类型的定义,每个类型都提供了某种功能。CLR是.Net Framework的底层。
  • 语言:像VC++.NET、C#、VB.NET、J#都是可以运行在.NET Framework之上的语言。

C#和ASP.NET WebForm的关系

我们知道C#是语言,而asp.net webform是一套技术框架,主要用于开发B/S结构的Web应用程序。也就是可以在浏览器里运行的网站。而后台的主要逻辑处理,数据的存储需要使用C#语言来完成。

例如:我们在淘宝网上购物时,我们可以打开淘宝网,然后选择要购买的商品,这些都是前端的呈现,可以使用asp.net webform来实现,而当将要购买的商品加入购物车后,再进行结算,生成订单这些 过程,都可以使用C#语言来实现。

初识C#、.NET Framework_第2张图片

编写第一个WebForm程序

创建Web应用程序

新建

可以使用VS2013开发工具来编写第一个WebForm程序,双击“Visual Studio 2013”图标,如图:
初识C#、.NET Framework_第3张图片
在图中点击“新建项目…”。

选择ASP.NET Web应用程序

初识C#、.NET Framework_第4张图片初识C#、.NET Framework_第5张图片
在图中选择“Empty”,点击“确定”按钮。

创建Web窗体

初识C#、.NET Framework_第6张图片
右击项目名称,依次选择“添加”“Web窗体”。
初识C#、.NET Framework_第7张图片

查看项目结构

初识C#、.NET Framework_第8张图片

编写代码

初识C#、.NET Framework_第9张图片
在上图中右击ASPX页面的任意位置,点击“查看代码”,如图:
初识C#、.NET Framework_第10张图片
在webform1.aspx.cs文件中的“Page_Load”的两个大括号之间就可以编写我们的第一个程序了:
初识C#、.NET Framework_第11张图片

  1. 在webform中,使用Response.Write()方法来输出一行内容。如果要换行显示,则使用
    标记
  2. 使用Response.Redirect(“WeForm2.aspx”)实现从一个页面跳转到另外一个页面
  3. Response.Write(“”);弹出警告框,用于显示一些提示信息

运行程序

编写好的程序,只有运行才能看到结果。在VS2013中有两种方法:

  1. 直接按F5键。
  2. 点击调试按钮。

Page_Load与IsPostBack

  1. 由于Page_Load是页面加载初始化事件,第一次运行页面首先执行的代码,每次点击按钮都会刷新页面从而执行Page_Load中的代码,也就是每点一次按钮,都会执行Page_Load中的代码,但如果初始化的代码只想执行一次,则就需要使用!IsPostBack来解决。
  2. IsPostBack第一次执行时,其值为:false(假)。从第二次开始,就是true(真)了,那么使用if(!IsPostBack){}可以让某段代码只执行一次。IsPostBack用在Page_Load()方法中。
if(!IsPostBack)
{
  执行一次的代码
}

打断点调试

1:打断点,2:F5运行,3:F10逐过程调试

基本概念

命名空间

  1. C#程序是利用命名空间组织起来的。
  2. 命名空间使用namespace[neimspeɪs]定义。
  3. 使用using引用命名空间。
  4. C#中的各命名空间就好像是一个存储了不同物品(C#中描述为类)的仓库,而using指令就好比是一把钥匙,命名空间的名称就好比仓库的名称,可以通过钥匙打开指定名称的仓库,从而在仓库中获取所需的物品。
    初识C#、.NET Framework_第12张图片

例如:我现在要使用处理字符串的StringBuilder类,但这个类存在
System.Text命名空间中,在使用之间首先要使用using 将System.Text命名空间打开:

初识C#、.NET Framework_第13张图片
打开后就可以使用了。
初识C#、.NET Framework_第14张图片如果将using System.Text;去掉,则就会出现错误:
初识C#、.NET Framework_第15张图片

语句的结束

对于C#语言编写的程序,都必须以英文的分号(;)结尾。
如:

Response.Write("我的第一个webform应用程序。");

如果省略分号,则会报错。

注释

C#中的注释是不会运行的,只是用来方便阅读、理解程序使用的。
分为三种:

  1. 单行注释
    单行注释使用//来表示,只能用来注释一行代码:
    初识C#、.NET Framework_第16张图片
  2. 多行注释或块注释
    多行注释是以/*开头,以*/结束。可以用来注释多行代码:
    初识C#、.NET Framework_第17张图片
    多行注释用来注释大量的代码。
  3. 文档注释:
    文档注释使用///来表示,用于在生成XML帮助文档时使用。
    文档注释是用来注释类和方法的。
    初识C#、.NET Framework_第18张图片

标识符

C#中的标识符是指在程序中用来表示事物的单词,标识符的命名有3个基本规则,标识符要见名识义,具有一定的意义。分别介绍如下:

  1. 标识符只能由数字、字母和下划线组成。
  2. 标识符必须以字母或者下划线开头,不能以数字开头。
  3. 标识符不能是关键字。
  4. 标识符区分大小写。

例如:
Demo_123 是正确的,由字母开头,由数字、字母和下划线组成。
Demo123_ 是在确的,由字母开头,由数字、字母和下划线组成。
_Demo123 是正确的,由下划线开头,由数字、字母和下划线组成。
123_Demo 是不正确的,必须以字母或下划线开头。
Class 是不正确的,不能使用关键字,Class在C#中是定义类的,是关键字。

语句

语句是构成所有C#程序的基本单位。语句是以分号(;)结束的。
例如:

Response.Write("Hello       Wor      ld!");

就是一个语句。

C#编码规则

  1. 所有的标识符区分大小写。如:Demo与demo是两个不同的标识符。
  2. 类名第一个字符大写。如:Class Student
  3. 变量名第一个字符小写。如:int intA=100
  4. 方法名第一个字符大写。如:Page_Load()方法

预编译命令

使用#region…#endregion预编译命令可以将某功能的代码组合成一个块,并给这个块起个名称,这样可以清洁代码,并且便于阅读。
初识C#、.NET Framework_第19张图片

你可能感兴趣的:(C#基础,c#)