使用linq设置多个元素

时间:2012-10-13 18:43:48

标签: .net linq

我正在尝试将StyleID为“foo”的表中的所有单元格更改为“bar”。我正在使用以下表达式来获取表格中具有StyleID =“foo”的所有单元格。我通过执行以下操作验证了我的缩小功能

Dim count As Integer = 
   <Table>...<Row>...<Cell>.Where(Function(c) c.@ss:StyleID = "foo").Count

当我运行它时,它返回数据集的正确数量的单元格。

但是,当我执行以下代码时,没有任何反应。

<Table>...<Row>...<Cell>
    .Where(Function(c) c.@ss:StyleID = "foo").@ss:StyleID = "bar"

关于我做错了什么的想法?

2 个答案:

答案 0 :(得分:1)

您正在更改Where方法的StyleID,而不是每个单元格。您需要迭代所有单元格并设置每个单元格的StyleID。

答案 1 :(得分:1)

.Where(Function(c) c.@ss:StyleID = "foo")
.ToList()
.ForEach(/*do stuff here*/)

我实际上并不认识你的语法。是VB.NET吗?

在C#中:

.Where(c => c.StyleID == "foo")
.ToList()
.ForEach(c => c.StyleID = "bar");