如何在 C# 中更新对象内的属性 [关闭]

Posted

技术标签:

【中文标题】如何在 C# 中更新对象内的属性 [关闭]【英文标题】:How to update property inside a object in C# [closed] 【发布时间】:2021-10-20 15:50:37 【问题描述】:

如何仅从该对象更新“数据”属性中的“UserPhoneNumber”属性值。我所做的只是更改属性值而不是嵌套对象。

var updateProfile = generalSettingResponse.Select(x => settingsList.ContainsKey(x.Key) ? settingsList.First(y => y.Key.ToLower() == x.Key) : x); 

示例 json 对象: “姓名”:“约翰”, “SNo”:“1234”, “数据”: "用户电话号码": "9102287287", “用户配置文件名”:“约翰”

【问题讨论】:

将json转换为c#对象的实例,然后更新属性。 【参考方案1】:

如果你想改变json对象的属性,这里有一个demo:

SampleJObject:

 "Name": "John", "SNo": "1234", "Data":  "UserPhoneNumber": "9102287287", "UserProfileName": "John"  

使用下面的代码,UserPhoneNumber的属性会被改变:

SampleJObject["Data"]["UserPhoneNumber"] = "0123456789";

结果:

【讨论】:

【参考方案2】:

你不能用这个:

updateProfile.Data.UserPhoneNumber = "+18888888888";

这只有在类中的设置器是公开的时才有效。

【讨论】:

动态需要它 当你使用动态时,你是在玩火。 99.99% 的时间你永远不需要使用它们,因为会有更好的方法。如果您确实使用它们,我建议将它们放在 try catch 中。你能看看手表里面的结构吗? @AshwinKumar 我认为您需要展示从/使用 JSON 获得dynamic 的位置和方式。

以上是关于如何在 C# 中更新对象内的属性 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何更新firestore中数组内的对象? [复制]

如何通过索引 C# 访问对象 [关闭]

如何在 C# 中迭代​​数组值并更新多条记录 [关闭]

(猫鼬)如何在用户集合中搜索会话数组属性内的对象内的令牌

如何在c#中将对象转换为数组? [关闭]

C# 如何通过Key键获取Dictionary集合内的Value