如何在 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# 中更新对象内的属性 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章