【问题标题】:Concatenate object's properties of variable length of a C# object into a new property of the object将 C# 对象的可变长度的对象属性连接到对象的新属性中
【发布时间】:2018-10-07 07:44:18
【问题描述】:

在 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 这样的函数。

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

【问题讨论】:

  • reduce == .NET 中的聚合
  • 里奥·梅西,真的吗?得到生活的伙伴!骄傲地举起你的名字。您能否向我们展示您的 c# 代码、您拥有什么以及您需要实现什么。现在听起来像,“你能帮我翻译一下吗?”

标签: javascript c# arrays


【解决方案1】:

您可以通过首先通过反射从对象中获取所有字段或属性来做到这一点

var fields = myObject.GetType().GetFields();

然后你从这些字段中提取所有当前值并制作它的字符串

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

然后,只需聚合值

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-15
    • 2017-02-05
    • 2020-06-22
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多