将 Ruby 的时间转换为 C#

本文关键字:转换 时间 Ruby | 更新日期: 2023-09-27 18:37:04

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

这是我的尝试:

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

我是C#的新手,也许这个应该很容易,我知道我想使用扩展方法。但是由于函数在 C# 中不是"一流的",所以我现在被困住了。

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

将 Ruby 的时间转换为 C#

您可以使用操作类型:

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));
    }
}

另请查看此处以了解代表。