You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用LINQ将对象的两个属性元素合并为一个数组

解决方案

首先要指出你原来的代码存在一个问题:array.Concat(...)不会修改原数组(数组属于不可变类型),这条语句执行后没有赋值给任何变量,所以实际上你并没有得到包含prop1和prop2的合并数组。

要实现你想要的简化写法,直接在Method参数里生成合并后的数组,有两种常用方式:

方式一:使用SelectMany扁平化序列

通过SelectMany把每个对象转换成包含prop1和prop2的临时数组,再将所有临时数组扁平化合并成一个序列,最后转成数组:

Method(myDatas.SelectMany(md => new[] { md.prop1, md.prop2 }).ToArray());

方式二:合并两个Select结果后转数组

先分别获取prop1和prop2的序列,用Concat合并,再转成数组:

Method(myDatas.Select(md => md.prop1).Concat(myDatas.Select(md => md.prop2)).ToArray());

两种方式都能直接生成包含所有prop1和prop2元素的string数组,作为Method的参数传入。

内容的提问来源于stack exchange,提问作者EsprnzJK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:12:37