编辑
2025-09-23
C#
00

在 C# 中,委托是一种类型,它定义了方法的签名(即方法的参数和返回类型),并且可以持有对符合该签名的方法的引用。简而言之,委托是对方法的封装,它允许将方法作为参数传递,或者将方法赋给变量。

委托特别适用于实现回调方法和多播功能。它们在事件处理中也起着核心作用。

定义委托

委托的定义类似于定义一个方法,但是使用 delegate 关键字,并且没有方法体。

示例:定义一个简单的委托

C#
public delegate void PrintDelegate(string message);

在这个例子中,我们定义了一个委托 PrintDelegate,它可以引用任何接受单个 string 参数并返回 void 的方法。

使用委托

要使用委托,首先需要定义一个符合委托签名的方法,然后创建委托的实例,并将该方法作为参数传递给委托。

示例:使用委托

C#
namespace AppDelegate { internal class Program { public delegate void PrintDelegate(string message); static void Main() { // 定义一个符合委托签名的方法 void PrintToConsole(string message) { Console.WriteLine(message); } // 创建委托实例并传递方法 PrintDelegate printDelegate = new PrintDelegate(PrintToConsole); // 使用委托调用方法 printDelegate("Hello, World!"); Console.ReadKey(); } } }
编辑
2025-09-23
C#
00

C# 中的泛型(Generics),这是一种允许程序员创建灵活、可重用的代码的功能。我们将了解泛型的基本概念、为什么要使用泛型、如何定义和使用泛型类和方法,以及泛型的一些高级特性。本课程将通过丰富的示例帮助您掌握泛型的使用,简单理解可以是一种模板。

泛型的基本概念

泛型允许我们创建不指定具体数据类型的类、接口、方法和委托。通过使用泛型,我们可以编写更加灵活和可重用的代码。

为什么使用泛型?

  • 类型安全:泛型提供了编译时类型检查,减少了运行时错误。
  • 性能:使用泛型可以避免装箱(boxing)和拆箱(unboxing)操作,提升性能。
  • 代码重用:可以使用同一个类或方法处理不同的数据类型。
编辑
2025-09-23
C#
00

在 C# 中使用正则表达式时,字符类是构建模式的基础之一。字符类允许你定义一组字符,正则表达式引擎将匹配这组字符中的任何一个字符。本文将详细介绍 C# 中的正则表达式字符类,并通过多个示例展示其用法。

常用字符类

字符类通过方括号 [] 定义,可以包含单个字符、字符范围或者字符组合。以下是一些常用的字符类:

  • [abc]: 匹配 'a'、'b' 或 'c'
  • [^abc]: 匹配除了 'a'、'b'、'c' 之外的任意字符
  • [a-z]: 匹配任意小写字母
  • [A-Z]: 匹配任意大写字母
  • [0-9]: 匹配任意数字
  • \d: 匹配任意数字,等同于 [0-9]
  • \w: 匹配任意字母、数字或下划线,等同于 [a-zA-Z0-9_]
  • \s: 匹配任意空白字符,如空格、制表符或换行符
编辑
2025-09-23
C#
00

在 C# 中,正则表达式是一种强大的模式匹配工具,它通过 System.Text.RegularExpressions 命名空间中的 Regex 类提供支持。量词在正则表达式中扮演着重要的角色,它们定义了一个模式应当出现的次数。本文将介绍 C# 中正则表达式的量词,并提供示例以帮助理解。

量词的种类

在正则表达式中,量词可以分为几类:

  • *:匹配前面的元素零次或多次。
  • +:匹配前面的元素一次或多次。
  • ?:匹配前面的元素零次或一次。
  • {n}:匹配前面的元素恰好 n 次。
  • {n,}:匹配前面的元素至少 n 次。
  • {n,m}:匹配前面的元素至少 n 次,但不超过 m 次。

* 量词

* 量词表示前面的元素可以出现零次或多次。

编辑
2025-09-23
C#
00

在 C# 中,正则表达式是通过 System.Text.RegularExpressions 命名空间中的 Regex 类实现的。正则表达式允许你以灵活和高效的方式进行字符串搜索、替换和解析。本文将介绍在 C# 中使用正则表达式时的字符匹配、字面字符、特殊字符和转义序列,并提供示例。

字符匹配

字符匹配是正则表达式的核心,它允许你定义应该匹配的文本模式。

字面字符

字面字符是正则表达式中直接匹配其自身的字符。它们不具备特殊含义,只代表字符本身。

示例

C#
using System; using System.Text.RegularExpressions; class Program { static void Main() { string pattern = "cat"; string input = "The cat sat on the mat."; Match match = Regex.Match(input, pattern); if (match.Success) { Console.WriteLine($"Found '{match.Value}' at position {match.Index}"); } } }

输出:

C#
Found 'cat' at position 4