C# 传递内联代码时遇到问题

标签 c# multidimensional-array inline-code

嘿,我知道已经有很多问题包含了我需要的答案,但我很难在 Func/Action/Delegate/Lambda 之间进行筛选,作为一个 javascript 人员,这一切都感觉不必要的复杂。

我正在处理二维数组,并且想编写一个方法,该方法接受 int width、int height 以及要与每个 x/y 对调用的任何形式的内联代码。重点只是为了避免一遍又一遍地编写嵌套 for 循环带来的错误和时间。但我不确定要使用的内联代码的正确类型,或者它是什么样的。我已经尝试了很多组合,但无法成功。

我应该在该方法上使用什么签名,以及如何调用它?

最佳答案

我通常使用action作为类型参数,并在调用时使用lambda:

ForEachPair(5, 5, (x, y) =>
{
    Console.Write(x + "," + y);
});

public void ForEachPair(int width, int height, Action<int, int> callback)
{
    for (int i = 0; i < width; i++)
    {
        for (int j = 0; j < height; j++)
        {
            callback(i, j);
        }
    }
}

关于C# 传递内联代码时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30226989/

相关文章:

c# - 如何在 .NET 中为正则表达式编码字符串?

c# - 像 WebJob 这样的队列上的 Azure WorkerRole 触发器

c - 3 维数组表示

c++ - C++内联函数可以调用稍后在 header 中声明的函数吗?

css - 如何内联设置 div.div 样式?

c# - 如何在C#中找到一个数的模数

c# - 为什么 .NET Core API 中的 POST 参数总是 null

r - 在多维结构(数组)中查找位置列表

c# - 在 C# 中初始化多维数组(与其他数组)

asp.net - 如何在 ASP.NET 页面内定义命名空间(内联代码方法)?