linq select C# 到 vb.net

linq select C# to vb.net

我需要将以下 LINQ 语句转换为 VB.net。但是

collection.Select(c => {c.PropertyToSet = value; return c;});

这是我的,但我想执行 'return' 指令。

collection.Select(function (c) c.PropertyToSet = value  ***return c***  )

关于如何转换的任何想法? 非常感谢!

如果您想更改集合中某个对象的所有属性,Select 方法不适合执行此操作。

由于 collection 对象是 List(Of T),您可以使用 ForEach 方法尝试此操作:

collection.ForEach(Sub(c) c.PropertyToSet = value)

使用Select方法,你可以试试这个:

collection = collection.Select(Sub(c) c.PropertyToSet = value)

或者,您可以使用语言结构For Each

For Each c as YourType In collection
    c.PropertyToSet = value
Next

我认为是这样,没有测试但应该可以

                Collection.Select(Function(c)
                                      c.PropertyToSet = value
                                      Return c
                                  End Function)

如果您希望得到过滤后的 IList,试试这个:

collection.Where(Function(c) c.PropertyToSet = Value).ToList