c#

c# params 怎样实现扩展

小樊
83
2024-12-09 22:15:22
栏目: 编程语言

在C#中,params关键字允许您在调用方法时传递可变数量的参数。要实现扩展,您可以使用泛型和递归方法。这里有一个示例,展示了如何使用泛型和递归方法实现参数扩展:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var numbers = new List<int> { 1, 2, 3, 4, 5 };
        var result = ExtendParameters(numbers.ToArray());
        Console.WriteLine(string.Join(", ", result));
    }

    // 递归方法实现参数扩展
    static IEnumerable<T> ExtendParameters<T>(params T[] items)
    {
        foreach (var item in items)
        {
            yield return item;
        }

        // 递归调用,将参数扩展一倍
        var extendedItems = ExtendParameters(items);
        foreach (var extendedItem in extendedItems)
        {
            yield return extendedItem;
        }
    }
}

在这个示例中,我们定义了一个名为ExtendParameters的泛型方法,它接受一个可变数量的参数。这个方法使用yield return语句返回参数,并在递归调用中将其扩展一倍。这样,当您调用ExtendParameters方法时,它将返回扩展后的参数列表。

0
看了该问题的人还看了