繁体   English   中英

将具有字符串属性的对象数组转换为 c# 中的字符串数组

[英]Convert array of objects with string property to an array of strings in c#

我正在尝试将具有字符串属性的对象数组转换为字符串数组。

例如:

"temperature_controlled_transport": [
        {
            "data": "0"
        },
        {
            "data": "test" 
        }
    ]

应该变成:

"temperature_controlled_transport": ["0", "1"]

我尝试使用以下代码:

TemperatureControlledTransport = Array.ConvertAll(pimproduct.Values.TemperatureControlledTransport, x => x.Data)

但是当 object 为 null 时,这不起作用并抛出异常。 如何使用 null 值进行这项工作?

此外,这段代码在 object 的创建中,所以我不能使用 if 块:

SHEQdata = new SHEQdata
            {
                TemperatureControlledTransport = Array.ConvertAll(pimproduct.Values.TemperatureControlledTransport , x => x.Data)
            }

此外,我必须使用约 40 个属性来执行此操作,所以如果有更好的方法,请告诉我:)

谢谢!

使用空合并运算符怎么样?

TemperatureControlledTransport = Array.ConvertAll(pimproduct.Values.TemperatureControlledTransport ?? new TemperatureControlledTransport[] { }, x => x.Data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM