在C#中,泛型(Generic)是一种强类型编程的机制,允许你在编写代码时指定方法、类或接口的参数和返回值的类型,而不是在运行时指定。泛型提供了更高的代码重用性和类型安全性。

以下是一些C#中泛型的基本用法和示例:

1. 泛型方法:
public class GenericMethods
{
    // 泛型方法
    public T Display<T>(T value)
    {
        Console.WriteLine(value);
        return value;
    }
}

class Program
{
    static void Main()
    {
        GenericMethods genericMethods = new GenericMethods();
        
        // 调用泛型方法,传递不同类型的参数
        int intValue = genericMethods.Display(42);
        string stringValue = genericMethods.Display("Hello");

        Console.ReadLine();
    }
}

2. 泛型类:
// 泛型类
public class GenericClass<T>
{
    private T data;

    public GenericClass(T data)
    {
        this.data = data;
    }

    public T GetData()
    {
        return data;
    }
}

class Program
{
    static void Main()
    {
        // 实例化泛型类,指定具体类型
        GenericClass<int> intContainer = new GenericClass<int>(42);
        int value = intContainer.GetData();

        GenericClass<string> stringContainer = new GenericClass<string>("Hello");
        string text = stringContainer.GetData();

        Console.ReadLine();
    }
}

3. 泛型接口:
// 泛型接口
public interface IContainer<T>
{
    T GetData();
}

// 实现泛型接口
public class StringContainer : IContainer<string>
{
    private string data;

    public StringContainer(string data)
    {
        this.data = data;
    }

    public string GetData()
    {
        return data;
    }
}

class Program
{
    static void Main()
    {
        // 实例化实现泛型接口的类,指定具体类型
        StringContainer stringContainer = new StringContainer("World");
        string text = stringContainer.GetData();

        Console.ReadLine();
    }
}

泛型提供了更灵活和安全的编程方式,能够有效地避免类型转换错误,并提高代码的可读性和可维护性。


转载请注明出处:http://www.pingtaimeng.com/article/detail/6368/C#