按字段名称c#设置数组中元素的值

时间:2013-08-15 10:56:51

标签: c# asp.net

我有一个包含两行的数组,每行都有这样的数据变化。 enter image description here

我正在从这个数组中查询FieldValue,就像这样

 var objlinkedin = myarray.Where(r => r.FieldName == "LinkedIn Profil").Select(m => m.FieldValue).ToList();

现在我想将行的FieldValue设置为“myvalue”,其中FieldName="LinkedIn Profil"正确的方法是什么?...

1 个答案:

答案 0 :(得分:3)

更改该值,您需要父对象,即

foreach(var obj in myarray.Where(r => r.FieldName == "LinkedIn Profil"))
{
    obj.FieldValue = "myvalue";
}

如果你知道会有零次或一次点击,你可以简化,注意。实际上,如果你期望零或一,可能值得将它们编入字典:

fields = myarray.ToDictionary(x => x.FieldName);

然后:

SomeType found;
if(fields.TryGetValue("LinkedIn Profil", out found)) {
    found.FieldValue = "myvalue";
}