wqj b1892cc494 新增:添加string和语法糖文档 3 年 前
..
static 040489ec08 新增:新增基础语法 3 年 前
01.dbtype.md 040489ec08 新增:新增基础语法 3 年 前
02.class.md 040489ec08 新增:新增基础语法 3 年 前
03.interface.md 040489ec08 新增:新增基础语法 3 年 前
04.syntax.md b1892cc494 新增:添加string和语法糖文档 3 年 前
04_1.keyword.md 040489ec08 新增:新增基础语法 3 年 前
04_2.operator.md 040489ec08 新增:新增基础语法 3 年 前
04_3.statement.md 040489ec08 新增:新增基础语法 3 年 前
05.array.md 040489ec08 新增:新增基础语法 3 年 前
06.string.md b1892cc494 新增:添加string和语法糖文档 3 年 前
07.memoryobject.md d7de64ed5c 新增:内存对象培训文档 3 年 前
08.dbop.md a12ad8c86b 优化:优化内存对象文档 3 年 前
09.delege&event.md 69ed646e1f 新增linq文档 3 年 前
09_1.delege.md 0f33284417 新增:新增系统架构相关子模块的培训文档 3 年 前
09_2.event.md 0f33284417 新增:新增系统架构相关子模块的培训文档 3 年 前
09_3.advanced.md 0f33284417 新增:新增系统架构相关子模块的培训文档 3 年 前
10.genericity.md c10319b073 新增,添加泛型培训资料内容 3 年 前
11.linq.md 040489ec08 新增:新增基础语法 3 年 前
12.sugar.md b1892cc494 新增:添加string和语法糖文档 3 年 前
13.exception.md 040489ec08 新增:新增基础语法 3 年 前
readme.md b1892cc494 新增:添加string和语法糖文档 3 年 前

readme.md

C# 简介

课程安排 |知识章节|培训对象|课时| |-|-|-| |简介|新学员|1| |数据类型|新学员|1| |类|新学员|2| |接口、继承与多态|新学员|2| |基础语法|新学员|1| |数组与集合|新学员|1| |字符串|新学员|1| |内存对象|新学员|1| |数据库操作|新学员|1| |委托与事件|新学员|3| |泛型|新学员|2| |Linq|新学员|2| |异常处理|新学员|1|

简介

C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的。

C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#特点

1)简单、安全

在 C++ 和 C 语言中程序员最头疼的问题就是指针问题,在 C# 语言中已经不再使用指针,而且不允许直接读取内存等不安全的操作。

它比 C、C++、Java 提供了更多的数据类型,并且每个数据类型都是固定大小的。

此外还提供了命名空间来管理 C# 文件,命名空间 相当于一个文件夹,在创建程序时,允许在一个命名空间中创建一个或多个类,方便调用和重用。

2)面向对象

与其他面向对象语言一样,C# 语言也具有面向对象语言的基本特征,即封装、继承、 多态。

  • 封装:就是将代码看作一个整体,例如使用类、方法、接口等。在使用定义好的类、 方法、接口等对象时不必考虑其细节,只需要知道其对象名以及所需要的参数即可,也是一种提升代码安全性的方法。
  • 继承:是一种体现代码重用性的特性,减少代码的冗余,但在 C# 语言中仅支持单继承。
  • 多态:不仅体现了代码的重用性,也体现了代码的灵活性,它主要通过继承和实现接口的方式,让类或接口中的成员表现出不同的作用。

3)支持跨平台

最早的 C# 语言仅能在 Windows 平台上开发并使用,目前最新的 C# 6.0 版本已经能在多个操作系统上使用,例如在 Mac、Linux 等。此外,还能将其应用到手机、PDA 等设备上。

4)开发多种类型的程序

使用 C# 语言不仅能开发在控制台下运行的应用程序,也能开发 Windows 窗体应用程序、网站、手机应用等多种应用程序,并且其提供的 Visual Studio 2015 开发工具中也支持多种类型的程序,让开发人员能快速地构建 C# 应用程序。

C#与.Net的关系

.NET 是一个开发平台,而 C# 是一种在 .NET 开发平台上使用的编程语言,目前能在 .NET 平台上使用的开发语言很多,例如 Visual Basic .NET、Python、J#、Visual C++.NET 等。但在 .NET 平台上使用最多的是 C# 语言。

.NET 是名为公共语言运行时 (CLR) 的虚执行系统和一组类库。 CLR 是 Microsoft 对公共语言基础结构 (CLI) 国际标准的实现。 CLI 是创建执行和开发环境的基础,语言和库可以在其中无缝地协同工作。执行 C# 程序时,程序集将加载到 CLR。 CLR 会直接执行实时 (JIT) 编译,将 IL 代码转换成本机指令。 CLR 可提供其他与自动垃圾回收、异常处理和资源管理相关的服务。 CLR 执行的代码有时称为“托管代码”(而不是“非托管代码”),被编译 成面向特定平台的本机语言。

安装

本文以vs2019为例子介绍开发环境的安装。

版本

VS2019 共有三个版本,分别是:社区版(Community),专业版(Professional),企业版(Enterprise)

对于大部分程序开发,这三个版本的区别不大,免费的社区版一样可以满足需求,所以我推荐大家使用社区版,既省去了破解的麻烦,也尊重微软的版权。

Visual Studio(包含SDK及运行时)

  • 下载地址:https://visualstudio.microsoft.com/zh-hans/ 选择企业版或专业版下载,此时由网页下载的为最新版本(非Preview版本)Visual Studio Installer。
  • Installer:工作负载推荐选择ASP.NET和Web开发、.NET桌面开发、Visual Studio 扩展开发。

第一个C#程序

using System;
class Hello
{
    static void Main() 
    {
        Console.WriteLine("Hello, World");
    }
}	

C#通过使用using指令进行其他命名空间的调用。

借助引用给定命名空间的 using 指令,可以非限定的方式使用作为相应命名空间成员的类型。 由于使用 using 指令,因此程序可以使用 Console.WriteLine 作为 System.Console.WriteLine 的简写。

Class即是类关键字,是C#语言的核心和基本构成模块,C#所有语句都必须在类中。

按照约定,Main 静态方法是 C# 程序的入口点。