C#的泛型类的作用和实例
时间: 2024-05-09 12:15:22 浏览: 17
C#的泛型类可以在编写代码时提高代码的灵活性和复用性,因为泛型类可以用来创建可以使用任意数据类型的类。通过使用泛型类,可以避免写重复的代码,并且可以更好地处理不同数据类型的输入和输出。
下面是一个泛型类的实例,它可以用来创建一个可以存储任意类型数据的栈(后进先出):
```csharp
public class Stack<T>
{
private List<T> _items = new List<T>();
public void Push(T item)
{
_items.Add(item);
}
public T Pop()
{
if (_items.Count == 0)
{
throw new InvalidOperationException("The stack is empty.");
}
T item = _items[_items.Count - 1];
_items.RemoveAt(_items.Count - 1);
return item;
}
}
```
在上面的代码中,我们定义了一个泛型类 `Stack<T>`,其中 `T` 是一个类型参数。该类有两个方法:`Push` 和 `Pop`,它们分别用于将元素压入栈和从栈中弹出元素。由于该类是泛型类,因此可以使用任何类型的数据来创建栈。例如,我们可以使用以下代码来创建一个存储整数的栈:
```csharp
Stack<int> intStack = new Stack<int>();
intStack.Push(1);
intStack.Push(2);
intStack.Push(3);
int top = intStack.Pop(); // top = 3
```
也可以创建一个存储字符串的栈:
```csharp
Stack<string> stringStack = new Stack<string>();
stringStack.Push("hello");
stringStack.Push("world");
string top = stringStack.Pop(); // top = "world"
```
通过使用泛型类,我们可以编写更加灵活、通用的代码,从而提高代码的复用性和可维护性。