c# - 将 JavaScript 转换为 C# - 数组

标签 c# javascript arrays

我对 C# 相当陌生,在转换某些数组类型时遇到问题。

JavaScript 代码:

function toMatrix(list, elementsPerSubArray) {
    var matrix = [], i, k;
    for (i = 0, k = -1; i < list.length; i++) {
        if (i % elementsPerSubArray === 0) {
            k++;
            matrix[k] = [];
        }
        matrix[k].push(list[i]);
    }
    return matrix;
}

我尝试过转换代码,但我很难处理 C# 中的数组。

这对某些人来说可能很容易,我该怎么做?

谢谢。

最佳答案

这是一次尝试。我对项目类型使用了通用参数:

List<List<T>> toMatrix<T>(List<T> list, int elementsPerSubArray) 
{
    var matrix = new List<List<T>>();
    int k = -1;
    for (int i = 0 ; i < list.Length; i++) 
    {
        if (i % elementsPerSubArray == 0) 
        {
            k++;
            matrix.Add(new List<T>());
        }
        matrix[k].Add(list[i]);
    }
    return matrix;
}

测试:

List<int> input = new List<int> { 1, 2, 3, 4, 5, };
var result = toMatrix(input, 2);
    foreach (var outer in result)
        Console.WriteLine(string.Join(", ", outer));

(Demo on Ideone)

关于c# - 将 JavaScript 转换为 C# - 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530766/

相关文章:

c# - 无法验证在 C# 中创建的签名

c# - 我可以使用 outlook 2003 interop 读取 .msg 文件及其嵌入图像吗

javascript - 如何在没有 meteor.js 和 react.js 数据库的情况下编写简单的聊天?

arrays - 在处理空列值时连接数组列时保持一致的 PostgreSQL 数组列索引

c# - 如何从嵌套类 List<T> 中获取扁平列表?

c# - 我们如何降低 myProcess.TotalProcessorTime 的分辨率?

javascript - Firefox 键盘快捷键是否仅在浏览器启动时激活?

javascript - 如何限制对 node.js javascript 中的 api 的访问?

javascript - 尝试使用 Websocket 和 Express 服务器发布产品表

c - 使用 cbreak() 接收到两位数地址后,直接在数组位置打印数据; <curses.h> 和 getch();