将C#对象的可变长度的对象的属性连接到对象的新属性中

时间:2018-04-26 14:40:56

标签: javascript c# arrays

在JavaScript中解决了this问题,我正在尝试使用C#作为C#对象,而不是JSON。

基本上,JS解决方案看起来像这样:

myObject.myObject.forEach(arr => {
 arr.prop = arr.parameters.reduce((res,obj)=> res+obj.special, '')
})

所以我试着这样做:

foreach (array arr in myObject.myObject)
{
    arr.prop = arr.parameters.reduce();
}

我没有在C#中找到任何类似JS reduce的函数。

您对如何解决这个问题有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以通过首先通过Reflection

获取对象中的所有字段或属性来完成此操作
var fields = myObject.GetType().GetFields();

然后从这些字段中提取所有当前值并生成字符串

var values = fields.Select(e => e.GetValue(myObject)?.ToString());

之后,只需聚合值

var allFieldsInOne = values.Aggregate((e,f) => e + f);