温馨提示×

C# toArray的扩展方法探索

c#
小樊
97
2024-07-08 20:47:16
栏目: 编程语言

在C#中,toArray是一个数组的方法,用于将集合转换为数组。但是有时候我们希望在不同的集合类型上使用toArray方法,这时候我们可以定义一个扩展方法来实现这个功能。

下面是一个示例代码,演示了如何定义一个扩展方法toArray,使其可以在不同的集合类型上使用:

using System;
using System.Collections.Generic;

public static class CollectionExtensions
{
    public static T[] toArray<T>(this ICollection<T> collection)
    {
        T[] array = new T[collection.Count];
        collection.CopyTo(array, 0);
        return array;
    }
}

class Program
{
    static void Main()
    {
        List<int> list = new List<int> { 1, 2, 3, 4, 5 };
        int[] array = list.toArray();

        foreach (int num in array)
        {
            Console.WriteLine(num);
        }
    }
}

在上面的示例代码中,我们定义了一个扩展方法toArray,它接受一个ICollection类型的参数,并返回一个T类型的数组。在Main方法中,我们创建了一个List类型的集合,并调用了toArray方法,将集合转换为数组并输出数组中的元素。

通过定义扩展方法toArray,我们可以在不同的集合类型上使用该方法,使代码更加灵活和可复用。

0