【问题标题】:Parse 2d int array to List of BubbleDataPoints将 2d int 数组解析为 BubbleDataPoints 列表
【发布时间】:2020-05-11 14:18:18
【问题描述】:

我有一个算法,它使用通过 C# 中的 int[,] 实现的网格。我想使用 blazor chart.Js 的气泡图绘制 Blazor 中的输出。最好我想根据 int 的值创建单独的数据集。 0 = 空/忽略,1 = 特定对象类型,2 = 特定对象类型。

我在挑选数据并将其转换为图表预期的 BubbleDataPoint(x,y,r) 时遇到问题。我希望 x,y 对应于数组索引,例如graph[1,1] = 1 将是 bubbledatapoint(1,1,1) 等。我在我的类中实现了一个 IEnumerable 方法,以便我可以在 int 值上使用 foreach 或 .select 但不确定如何获取数组索引出去。

public IEnumerable<int> GridValues()
        {
            for (int x = 0; x < grid.GetLength(0); x++)
            {
                for (int y = 0; x < grid.GetLength(1); y++)
                {
                    yield return grid[x,y];
                }
            }
        }

谢谢,

【问题讨论】:

    标签: c# asp.net-core chart.js blazor blazor-server-side


    【解决方案1】:

    好的,所以对于任何感兴趣的人,我都采用了这种方法。我最初想避免循环遍历数组,直到我意识到 2D 数组没有实现 IEnumerable 并且我正在做一个中途方法,但后来决定使用这个。

    public IEnumerable<BubbleDataPoint> GridToDataPoints()
            {
                for (int x = 0; x < grid.GetLength(0); x++)
                {
                    for (int y = 0; y < grid.GetLength(1); y++)
                    {
                        yield return new BubbleDataPoint(Convert.ToDouble(x), Convert.ToDouble(y), Convert.ToDouble(grid[x, y]));
                    }
                }
            } 
    

    【讨论】:

      猜你喜欢
      • 2018-08-26
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 2012-10-14
      相关资源
      最近更新 更多