2015-04-27 2 views
-4

Учитывая это классический VB.NET кодаОбновления объектов из коллекции с Linq в VB.NET

For Each item in myColl 
    item.PropX = "New Value" 
Next 

Что будет LINQ для тех же целей (в VB.NET)? Предыдущий вопрос

+1

Но вы понимаете, что эта строка будет * не * фактически обновлять какой-либо элемент, не так ли? Вам нужно будет материализовать его, чтобы иметь какой-либо эффект. – nvoigt

+0

Попробуйте http://converter.telerik.com/ – jwatts1980

+0

@nvoigt, я знаю, что вы сказали –

ответ

0

OP в:

Для C# это как я это делаю:

var query = myColl.Select(item => { item.PropX = "New Value"; return 

пункта; }). ToList()

Каким будет linq для VB.NET?

Это, вероятно, структура вы ищете, хотя я не уверен, что это то, что вы хотите сделать, как все это делают, устанавливая запрос как IEnumerable строки, где всегда «Новое значение ».

dim query = myColl.Select(Function(item) item.PropX = "New Value") 

ОБНОВЛЕНО ВОПРОС ОП сделал внести изменения в вопрос, который признан недействительным большинство ответов на эту тему. Обновленный вопрос в случае, если она будет изменена снова:

For Each item in myColl item.PropX = "New Value" Next 

Что будет LINQ для того же в VB.NET?

ОБНОВЛЕНО ОТВЕТ:

Предполагая myColl имеет список типа:

myColl.ForEach(Function(x) x.PropX = "New Value") 

Хотя это не рекомендуется. OP лучше использовать обычный цикл foreach.

+0

Согласовано. Я отредактирую его как OP-обновления, но в случае, если OP не работает, и люди ищут перевод VB.Net вышеуказанного выражения LINQ, и это то, что они ищут, я буду поддерживать его. –

+0

Это была моя первая попытка и не работает. –

+2

Кажется, вы пытаетесь получить элемент из коллекции (из-за возвращаемого элемента, который не работает в LINQ), но я не уверен. Что вы ожидаете от кода LINQ? –

Смежные вопросы