c# - 如何将 For 语句转换为 LINQ

标签 c# linq visual-studio for-loop resharper

如何将 for 语句转换为 LINQ?

假设我有一个方法。

public void Method_One(){
     //...code...
     //...code...
}

而且我必须多次调用这些代码,迭代次数也将是我的参数。

for(int i = 0; i < numbers.Length; ++i){
    Method_One();
}

我知道 foreach 语句有转换,但是 FOR 呢?

最佳答案

Enumerable.Range(0, numbers.Length).ToList().ForEach(arg => Method_One());

同意@Ivan Stoev 的观点,它仍然是一种使用 linq 做事的方式。

代替 Linq,一个简单的辅助静态方法应该会使其更具可读性。

public static void Repeater(int count, Action action)
{
    Debug.Assert(action!=null);
    for (int i = 0; i < count; i++)
        action();
}

//Use it like this
Repeater(10, Method_One);

关于c# - 如何将 For 语句转换为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36761371/

相关文章:

c# - 如何使用 .NET 获取位于两个 '{' 括号'}' 之间的文本字符串?

c# - 使用 linq 更改数组中的一个字段

c++ - 为我的类(class)重载 <<

C# 分配 mshtml.HTMLDocument.frames 时指定的强制转换无效

c# - 我可以对 C# 方法使用 F# 的 Ticked Function name notation 吗?

C#井字游戏效率

c++ - 使用 _bstr_t 和 ADO 在 C++ 中获取列数

c# - 为什么此 Linq to XML 查询不起作用

c# - 如何根据属性获得两个类的交集

c++ - Visual Studio 不会更新 C++ 版本