首页 > 解决方案 > c# 将列表转换为数组

问题描述

净核心项目。我正在尝试从我的 c# 代码中创建以下对象。

 {
    "temperature_Mean_1_0":
      {"Header":"Air Temp","Type":"temperature","Height":"2","SubType":"Min","BoomOrientation":"0.0", 
      "NorthReference":"true_north","Unit":"C","Scale": 
      "2.0","Offset":"0.0","DVLpyName":"temperature_1_1","FirstData":"26.98","Converted":"26.98", 
     "AssociatedDirection":"1"
      }
 }

下面是我的代码

IEnumerable<MastSetupInformation> mastSetupInformations = await _mastSetupInformationRepository.GetAsync(x => Ids.Contains(x.Id));
 var data = (from l in mastSetupInformations
                        select (new Dictionary<string, object> { { l.Channel,
                                 new MastSetupInformationAdfList {
                                     MastSetupId = l.Id ,
                                     Header = l.Header,
                                     FirstData = l.FirstData,
                                     Type = l.Type,
                                     SubType = l.SubType,
                                     Unit = l.Unit,
                                     Height = l.Height,
                                     BoomOrientation = l.BoomOrientation,
                                     Scale = l.Scale,
                                     Offset = l.Offset,
                                     Converted = l.Converted,
                                     DvlpyName = l.DvlpyName,
                                     AssociatedDirection = l.AssociatedDirection,
                                     NorthReference = MastLocation.NorthReference
                                     } } }));

但是在我的代码中,数据变量的值低于

[
            {
            "temperature_Mean_1_0": {
                    "MastSetupId": 903,
                    "Header": "Horizontal Wind Speed Std. Dev.  at 99m [m/s]",
                    "FirstData": "1.45",
                    "Type": "WindDirection",
                    "SubType": "STDev",
                    "Unit": "m/s",
                    "Height": 50,
                    "BoomOrientation": 0,
                    "Scale": 3,
                    "Offset": 0
                }
            }
]

我在下面尝试了一些东西

object dataArray = data.Cast<object>().ToArray();

这很有效,所以我正在努力寻找我所缺少的东西。有人可以帮我理解这个问题。任何帮助,将不胜感激。谢谢

标签: c#arrays.net

解决方案


看起来像一个 JSON 对象。尝试使用 JSON.Convert() 和 JSON.Deserialize() 方法。通过这个 -使用 C# 反序列化 JSON


推荐阅读