按属性查找列表中的项目并知道项目名称

时间:2016-02-21 04:06:21

标签: c#

我一直在努力弄清楚如何通过检查属性来查找列表中的项目,然后隔离并命名此项目。我需要这样做来设置一个与该特定字符串对应的值。如果我发现列表中有一个或几个与该属性匹配的项目,它将无法工作。我的代码非常庞大,但这里有一段代码:

{{1}}

有可能这样做吗?我知道我可以通过检查每个字符串是否单独匹配此属性来实现此目的,但有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

这可以通过很多方式实现,我更喜欢简单的方法,使用索引进行循环收集和修改匹配字段

for(int index=0; index< diag_right.Count(); index++)
{
    if(diag_right[index] == "b3")
    {
        // update               
        diag_right[index] = "b8";               
    }
}

Linq方法

这种方法我只是使用Linq来获取匹配字符串的所有索引。

var indexes = diag_right.Where(e=>e.Equals("searchstring")).Select((c,i) => i).ToList();

foreach(int index in indexes) // loop through each line.
{
     diag_right[index] = "newvalue"; // set new value.
}

工作Demo