当前位置:实例文章 » C#开发实例» [文章]【深入浅出C#】章节 5: 高级面向对象编程:泛型编程和集合类型

【深入浅出C#】章节 5: 高级面向对象编程:泛型编程和集合类型

发布人:shili8 发布时间:2025-01-01 20:18 阅读次数:0

**深入浅出 C#**

**第五章:高级面向对象编程**

在前几章中,我们已经学习了 C# 的基本语法、类和对象的使用、继承和多态等概念。然而,C# 还提供了一些更高级的特性,使得我们能够更好地组织代码并提高程序的性能。这一章将重点介绍泛型编程和集合类型。

###5.1 泛型编程泛型编程是一种编写可重用的代码的方法,通过使用类型参数来避免在每次使用时都需要指定具体的类型。这种技术可以显著提高程序的性能并减少错误的可能性。

####5.1.1 定义泛型类和方法要定义一个泛型类或方法,我们需要使用 `class` 或 `method` 关键字,并在其后添加一个或多个类型参数,例如 ``。类型参数可以是任意名称,但通常使用大写字母来表示。

csharppublic class GenericClass
{
 private T _value;

 public T GetValue()
 {
 return _value;
 }

 public void SetValue(T value)
 {
 _value = value;
 }
}


在上面的例子中,我们定义了一个泛型类 `GenericClass`,它有一个类型参数 `T`。这个类包含两个方法:`GetValue` 和 `SetValue`,它们都操作类型为 `T` 的值。

####5.1.2 使用泛型类和方法要使用泛型类或方法,我们需要指定具体的类型来替换类型参数。在上面的例子中,我们可以创建一个 `GenericClass` 实例,并将其类型参数设置为 `int`:

csharpvar genericInstance = new GenericClass<int>();
genericInstance.SetValue(10);
Console.WriteLine(genericInstance.GetValue()); // 输出10


在这个例子中,我们创建了一个 `GenericClass` 实例,并将其类型参数设置为 `int`。然后我们使用 `SetValue` 方法将值 `10` 赋给实例的 `_value` 属性,最后使用 `GetValue` 方法输出该值。

###5.2 集合类型集合类型是 C# 提供的一种用于存储和操作一组数据的类。这些类包括 `List、Dictionary` 和 `HashSet` 等。

####5.2.1 List

`List` 是一种动态数组,允许添加或删除元素。在使用 `List` 时,我们需要指定类型参数来表示集合中存储的数据类型。

csharpvar list = new List<int>();
list.Add(10);
list.Add(20);
Console.WriteLine(string.Join(", ", list)); // 输出10,20


在上面的例子中,我们创建了一个 `List` 实例,并将其类型参数设置为 `int`。然后我们使用 `Add` 方法添加两个值 `10` 和 `20`,最后使用 `string.Join` 方法输出集合中的所有元素。

####5.2.2 Dictionary

`Dictionary` 是一种键值对的集合。在使用 `Dictionary` 时,我们需要指定类型参数来表示键和值的数据类型。

csharpvar dictionary = new Dictionary<string, int>();
dictionary.Add("one",1);
dictionary.Add("two",2);
Console.WriteLine(string.Join(", ", dictionary)); // 输出 { one=1, two=2 }


在上面的例子中,我们创建了一个 `Dictionary` 实例,并将其类型参数设置为 `string` 和 `int`。然后我们使用 `Add` 方法添加两个键值对,最后使用 `string.Join` 方法输出集合中的所有元素。

####5.2.3 HashSet

`HashSet` 是一种无序的集合。在使用 `HashSet` 时,我们需要指定类型参数来表示集合中存储的数据类型。

csharpvar set = new HashSet<int>();
set.Add(10);
set.Add(20);
Console.WriteLine(string.Join(", ", set)); // 输出10,20


在上面的例子中,我们创建了一个 `HashSet` 实例,并将其类型参数设置为 `int`。然后我们使用 `Add` 方法添加两个值 `10` 和 `20`,最后使用 `string.Join` 方法输出集合中的所有元素。

### 总结本章介绍了 C# 的高级面向对象编程特性,包括泛型编程和集合类型。泛型编程是一种编写可重用的代码的方法,通过使用类型参数来避免在每次使用时都需要指定具体的类型。集合类型是 C# 提供的一种用于存储和操作一组数据的类,包括 `List、Dictionary` 和 `HashSet` 等。在实际开发中,我们可以使用这些特性来提高程序的性能并减少错误的可能性。

### 参考资料* 《C#7.0 高级编程》第5 章* Microsoft .NET Framework 文档:泛型和集合类型

相关标签:c#开发语言
其他信息

其他资源

Top