csharp的泛型编程
时间: 2023-07-03 21:23:39 浏览: 55
C#的泛型编程可以使代码更加通用和可重用。泛型是一种在编译时不确定具体类型的编程方式,它可以用于类、方法、接口等的定义。
以下是一个简单的泛型类示例:
```csharp
class Stack<T>
{
private T[] elements;
private int top;
public Stack(int size)
{
elements = new T[size];
top = -1;
}
public void Push(T element)
{
if (top == elements.Length - 1)
Console.WriteLine("Stack is full.");
else
{
top++;
elements[top] = element;
}
}
public T Pop()
{
if (top == -1)
{
Console.WriteLine("Stack is empty.");
return default(T);
}
else
{
T element = elements[top];
top--;
return element;
}
}
}
```
在上面的代码中,`Stack`类是一个泛型类,它可以存储任意类型的元素。注意,`T`是一个类型参数,它可以用于类中的任何地方,例如成员变量、方法参数、返回类型等。
以下是一个使用`Stack`类的示例:
```csharp
Stack<int> intStack = new Stack<int>(10);
intStack.Push(1);
intStack.Push(2);
intStack.Push(3);
Console.WriteLine(intStack.Pop()); // 输出3
Console.WriteLine(intStack.Pop()); // 输出2
Console.WriteLine(intStack.Pop()); // 输出1
```
在上面的代码中,我们创建了一个`Stack<int>`对象,它只能存储整数类型的元素。我们使用`Push`方法将3个整数压入栈中,然后使用`Pop`方法弹出3个整数并输出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)