按Id给对象属性赋值
本文关键字:属性 赋值 对象 Id | 更新日期: 2023-09-27 18:04:45
我有一个用于保存值的对象的全局列表,值和id将被解析为ObjectManager
函数,id只能是列表中所述的内容。我想让函数更新对应于Id
的值。
最初我尝试使用foreach循环,它不更新列表中的对象。使用下面的代码确实更新列表中的对象,但它只检查已解析的id,我现在正在尝试使用switch语句,早期。
实现我想要做的事情的最好方法是什么?
示例代码:
public List<Object> obj = new List<Object>
{
new Object { id = 4, val = 20 },
new Object { id = 1, val = 34 },
new Object { id = 16, val = 27 },
new Object { id = 9, val = 36 }
};
public void ObjectManager(List<Object> myobj, int id, int val)
{
int i = 0;
int j = 0;
while (i < myobj.Count)
{
if(myobj[i].id == id)
{
j = myobj[i].val;
myobj[i].val = j + val;
}
}
}
您可以使用FirstOrDefault()
var variable = myobj.FirstOrDefault(o=>o.id = "YOUR_ID"
FirstOrDefault()
,则返回null,因此我们需要在更新
if (variable != null) variable.val = YOUR_VALUE
你应该使用Dictionary
你可以在Dictionary中找到许多与添加或更新相关的解决方案。像这样或者这样