我正在尝试将Ruby的time转换为C#,但现在遇到了麻烦。
这是我的尝试:
public static class Extensions
{
public static void Times(this Int32 times, WhatGoesHere?)
{
for (int i = 0; i < times; i++)
???
}
}
我是C#的新手,也许这应该很容易,而且我知道我想使用Extensionmethods。但是由于函数不是C#中的“第一类”,所以我现在还停留在上面。
那么,我应该为WhatGoesHere使用什么参数类型?
最佳答案
您可以使用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));
}
}
还可以查看here以了解有关委托(delegate)的信息。
关于c# - 将Ruby的时间转换为C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10994348/