将Ruby的时间转换为C#

6 c# ruby function

我试图将Ruby的时间转换为C#,但我现在被困住了.

这是我的尝试:

public static class Extensions
{
    public static void Times(this Int32 times, WhatGoesHere?)
    {
        for (int i = 0; i < times; i++)
            ???
    }
}
Run Code Online (Sandbox Code Playgroud)

我是C#的新手,也许这个应该很简单,我知道我想使用Extensionmethods.但由于C#中的函数不是"头等",我现在卡住了.

那么,我应该使用什么参数类型的WhatGoesHere?

slo*_*oth 5

您可以使用Action类型:

public static class Extensions
{
    public static void Times(this Int32 times, Action<Int32> action)
    {
        for (int i = 0; i < times; i++)
            action(i);
    }
}

class Program
{
    delegate void Del();

    static void Main(string[] args)
    {
        5.Times(Console.WriteLine);
        // or
        5.Times(i => Console.WriteLine(i));
    }
}
Run Code Online (Sandbox Code Playgroud)

还可以在这里了解代表.