C# 教程 (C Sharp)

2025 年 9 月 13 日 | 阅读 11 分钟

本 C# 教程全面讲解了 C# 的基础和高级概念的所有主题,例如第一个示例、变量、数据类型、控制语句、对象和类、函数、继承、构造函数、析构函数、静态、多态、抽象、接口、命名空间、属性、数组、字符串、异常处理、多线程、文件 IO、集合等。我们的 C# 教程专为初学者和专业人士设计。

什么是 C#?

C# 发音为“C-Sharp”。它是一种现代、通用、面向对象的编程语言,由微软于 2000 年作为 .Net Framework 的一部分开发和创建。C# 编程语言使开发人员能够为多种平台创建应用程序,例如 Windows、macOS 和 Linux。它还与其他广泛使用的编程语言(如 C++ 和 Java)有一些相似之处。

C# Hello World 程序

在本教程中,所有 C# 程序都提供了 C# 编译器。如果您想修改这些程序,可以轻松完成。

 

编译并运行 C# 程序

输出

Hello, World!

为什么要学习 C#?

C# 因其功能、简洁性和通用性而成为最受欢迎的编程语言之一。C# 语言有许多特性。其中一些如下:

C Sharp Tutorial

在这里,我们将一一讨论这些特性。

易于学习和使用

C# 是一种用户友好的语言,它提供了一种结构化的方式来解决问题。它拥有大量的库函数和数据类型,使其在移动应用、游戏开发等多个领域都很有用。

面向对象编程(Object-Oriented Programming)

C# 是一种面向对象的编程语言。它支持关键的 OOP 概念,如封装、继承、多态和抽象,有助于创建模块化和可重用的代码。此外,这些特性对于开发可扩展、高可维护性和可重用软件非常有帮助。

多功能性

C# 是一种通用语言,适用于多个应用程序领域,例如 Windows 软件、Web 应用、云、移动应用、游戏开发等。

Microsoft 生态系统集成

它与 Microsoft 生态系统紧密集成,因为它是 .NET Framework 的主要编程语言。它还与 Azure、Windows Presentation Foundation 和 ASP.NET 等其他 Microsoft 技术集成。

跨平台支持

借助 .NET Core,C# 可以在多种平台(如 Windows、macOS、Linux 等)上运行。它还支持使用 Xamarin/.NET MAUI 进行移动应用开发,以及使用 Unity 进行游戏开发,使其具有高度的适应性。这种灵活性使我们能够编写一次应用程序,并以最少的更改跨多个平台进行部署。

自动内存管理

C# 编程包含一个垃圾收集器,可帮助自动管理内存。它还会取消分配不再使用的对象。

C# 用于何处?

C# 是一种强大而通用的面向对象编程语言,广泛用于软件开发的多个领域。由于其与 .NET 生态系统的集成,它可用于多种平台和技术。

C Sharp Tutorial

C# 编程语言用于多个领域。其中一些如下:

Windows 应用程序

C# 编程语言用于使用 Windows Forms、Windows Presentation Foundation 和通用 Windows 平台创建在 Windows 操作系统上运行的桌面软件。

游戏开发

它是游戏开发(使用 Unity 游戏引擎)最流行的编程语言之一,支持数千款 2D、3D、AR 和 VR 游戏。

移动应用程序

借助 Xamarin/.NET MAUI,我们可以使用单一 C# 代码库为 Android、iOS 和 Windows 操作系统创建跨平台移动应用程序。

物联网 (IoT)

借助 .NET,我们可以为嵌入式设备、传感器和智能系统创建 IoT 解决方案。

Web 应用程序

借助 ASP.NET Core,C# 通常用于开发跨平台运行的动态网站、REST API 和企业级 Web 应用程序。

.Net Framework

在本节中,您将了解 .NET Framework 及其各种功能,例如 CLR 和 FCL。

C#

在本节中,您将学习 C# 的基础知识,例如历史、特性、示例、变量、数据类型、运算符和关键字。完成安装后,我们将继续学习核心概念,这些概念将构成您 C# 技能的基础。

C# 控制语句

在本教程的这一部分,您将详细了解控制语句,主题包括 If-else、循环、for 循环、while 循环、Break、continue 和 Goto 语句。

C# 函数

在本节中,您将学习 C# 函数的基础主题,包括按值传递、按引用传递和 Out 参数。在理解所有 C# 函数后,我们可以编写更具可重用性和模块化的代码。

C# 数组

在本节中,您将全面了解 C# 中数组的工作原理,从基础到高级。您将探索多个与数组相关的概念,例如数组的功能、多维数组、交错数组、Params、Array 类和命令行参数。

C# 对象和类

在本节中,您将学习 C# 中如何使用面向对象编程 (OOP)。完成这些主题后,您就可以设计和实现健壮的、面向对象的 C# 程序,其中包含结构良好的类,并更好地利用构造函数、析构函数、this、static、static class、structs 和 Enums 等 OOP 功能。

C# 属性

在本节中,您将了解 C# 中属性的工作原理。本节涵盖在获取或设置值时的验证和限制。

C# 继承

本节将探讨 C# 中的继承和聚合。您还将了解类之间的层次关系并有效重用代码。完成本节后,您将清楚地了解如何在 C# 中使用继承和聚合来编写可重用、可维护且结构良好的代码。

C# 多态

本节将探讨 C# 中多态的工作原理以及它如何实现灵活和可重用的代码。它还将涵盖成员重载、方法重载、Base 关键字的使用以及 Sealed 类的目的。

C# 抽象

在本节中,您将学习 C# 中如何使用抽象来隐藏实现细节,仅向用户展示基本功能。完成本节后,您将了解如何使用抽象来创建模块化、可重用且可维护的 C# 应用程序。

C# 命名空间

本节将探讨 C# 中命名空间的工作原理,它用于组织类和避免命名冲突。它还将探讨访问修饰符和封装,这些有助于提高代码的可维护性。

C# 字符串

在本节中,您将学习字符串以及如何在 C# 中处理它们。通过理解本节,您可以在 C# 编程语言中高效地创建、操作和处理字符串。

C# 字符串函数

本节将探讨 C# 中的各种字符串函数,这些函数使您能够有效地操作、比较、搜索和格式化字符串。它将涵盖多个字符串方法,例如 String Clone()、Compare()、CompareOrdinal()、CompareTo()、Concat()、Contains()、Copy()、CopyTo()、EndsWith()、Equals()、Format 以及许多其他函数。

C# 异常

本节探讨了如何在 C# 中使用异常处理来进行错误管理。它还涵盖了多个概念,例如 try/catch 块、finally 语句、自定义异常、checked 和 unchecked 异常以及 SystemException,以有效地管理运行时错误。

C# 文件 I/O

在本节中,您将了解 C# 编程语言中文件和数据流的工作原理。它涵盖了 System.IO 命名空间中的多个类,使您能够有效地读取、写入和管理文件、目录和数据。您还将探索序列化和反序列化以存储和检索对象数据。

C# 集合

本节将探讨 C# 中的集合,它们提供灵活高效的方法来存储、管理和操作数据组。您还将了解多种集合,例如 List、HashSet、SortedSet、Stack、Queue、LinkedList、Dictionary、SortedDictionary 和 SortedList。

C# 泛型

在本节中,您将学习 C# 中的泛型。它提供了一种使用数据类型占位符定义类和方法的技术。它有助于使代码更灵活、可重用且类型安全,并减少代码重复并提高性能。

C# 委托

本节将探讨 C# 中委托的工作原理,它们用于实现回调、事件处理和设计灵活的应用程序。完成本节后,您就可以定义和使用委托来动态调用 C# 程序中的方法。

C# 反射

在本节中,您将学习 C# 中反射的工作原理。借助反射,您可以动态加载程序集、创建类型实例以及访问方法、属性和特性。完成本节后,您就可以使用反射来创建灵活且可扩展的 C# 应用程序。

C# 匿名函数

本节探讨 C# 中的匿名函数。匿名函数提供了一种定义内联逻辑的特定方法,通常与委托和 LINQ 一起使用。

C# 多线程

在本节中,您将学习 C# 中多线程的工作原理。您还将探索线程生命周期、Thread 类以及多种线程操作,例如 sleep、abort、join、命名和优先级管理。

C# 同步

在本节中,您将学习 C# 中的同步。它用于在多个线程同时运行时管理对共享资源的访问。通过理解本节,您可以使用同步技术来创建线程安全且可靠的 C# 应用程序。

C# 新特性

在本节中,您将学习不同 C# 版本的新特性。

C# 2.0

在本节中,您将学习 C# 2.0 中引入的新特性,这些特性有助于提高语言的灵活性、可读性和功能。它还涵盖了部分类型、迭代器、可空类型、委托协变和推断、静态类以及委托的方法组转换。

C# 3.0

本节将介绍 C# 3.0 中引入的新特性。它将探讨匿名类型、扩展方法、查询表达式、部分方法、隐式类型局部变量、对象和集合初始化器、自动属性、lambda 表达式和表达式树。

C# 4.0

在本节中,您将学习 C# 4.0 中引入的新特性。它包括动态绑定、命名和可选参数、泛型协变和逆变以及嵌入式互操作类型 ("NoPIA")。

C# 5.0

在本节中,您将学习 C# 5.0 中引入的新特性。它包括支持调试和日志记录的异步方法,以及提供有关方法调用者信息的调用者信息属性。

C# 6.0

在本节中,您将学习 C# 6.0 的新特性。它包括静态指令、异常筛选器、catch/finally 块中的 await、自动属性初始值设定项、getter 属性的默认值、表达式体成员、null 传播器、字符串插值、nameof 运算符、字典初始化器和编译器即服务 (Roslyn)。完成本节后,您就可以创建更简洁、更具表现力且更易于维护的 C# 应用程序。

C# 7.0

本节将探讨 C# 7.0 的新特性。它还包括模式匹配、元组、解构、局部函数、数字分隔符、二进制字面量、ref 返回和局部变量、表达式体成员、out 变量和广义异步返回类型。

C# 7.1

在本节中,您将学习 C# 7.1 的新特性。它还包括 async main 和默认表达式。完成本节后,您就可以使用这些特性编写更简洁、更高效的 C# 应用程序。

C# 程序列表

在本节中,您将获得一套基本且常见 C# 程序的集合。这些程序将帮助您理解循环、条件语句、递归、数组、函数和模式打印等核心概念。每个程序的设计都力求简单、清晰且对初学者友好。

面试题

在涵盖了从基础到高级的所有主题之后,本节很重要,因为它涵盖了多个 C# 面试题。通过准备这些问题,您将能够自信地应对技术面试和编码评估。

前提条件

在学习 C# 之前,您必须具备 C 编程语言的基础知识。

目标受众

我们的 C# 教程旨在帮助初学者和专业人士。本 C# 教程将帮助不熟悉 C# 概念但对计算机编程有基本了解的程序员。

问题

我们保证您在此 C# 教程中不会遇到任何问题。但是,如果存在任何错误,请通过联系表单发布问题。


下一个主题Java 与 C# 对比