Skip to main content
 首页 » 编程设计

c#之将二维数组转换为对象c#

2025年05月04日48soundcode

这一切都源于查询谷歌分析数据。对于基本查询,改变的主要因素是维度和指标。返回的对象是一种称为 GaData 的类型,您需要的实际结果位于 GaData.Rows 中。

GaData.Rows 的格式如下所示:



每个维度首先会有一行,在此示例中,有一行用于“新访客”,第二行用于“回访者”。在这些行中将是另一组包含 Dimension 值的行,然后是您指定的每个指标(我只要求一个指标)。

到目前为止,我的类(class)设置如下:

public class Results 
{ 
    public List<Dimension> Dimensions { get; set; } 
} 
 
public class Dimension 
{ 
    public string Value { get; set; } 
    public List<Metric> Metrics { get; set; } 
} 
 
public class Metric 
{ 
    public int Value { get; set; } 
} 

最后,也许只是晚了,我的大脑运转不正常,但我在将这些数据转换为 Results 时遇到了一点困难。类型,我认为是因为多层。有什么帮助吗?

编辑

我在下面添加了一个答案,说明我最终是如何完成它的,如果有人有更简洁的示例,请告诉我!

请您参考如下方法:

嗯,不知道是什么Rows在里面 Ga ,但也许这会为您指明正确的方向。

var results 
    = GaData.Rows.Select(x => x.Rows.Select(y => 
          new Dimension { Value = y.Value, Metrics = new List<Metric> {innerRow.Metric}}));