2016-08-30 2 views
0

Я пытаюсь перезаписать приложение из .net в Scala, в основном для практики, и я столкнулся с этим выражением Linq, с которым я не знаю, как работать. linq также чужд мне, поэтому я немного из глубины.Scala Linq alternative

private void DeleteItems(AmazonSimpleDB client, IEnumerable<string> itemNames) 
{ 
    var deleteableItems = from n in itemNames select new DeleteableItem() 
    { 
     ItemName = n 
    } 
} 

Я смотрю на некоторые другие ответы, используя карты, но до сих пор не увенчались успехом, спасибо за любую помощь.

+0

В чем ваш вопрос? В показанном вами коде создается 'IEnumerable ' ('deletableItems'): для каждой строки в' itemNames' создается экземпляр 'DeleteableItem' и его свойство' ItemName' установлено в эту строку (если это полный код метода, метод кажется бесполезным, поскольку эта последовательность нигде не используется). –

+0

Было бы легче помочь, если у вас возникли проблемы. – zulq

+0

@ RenéVogt, извинения, я думал, что фрагмент будет достаточным, так как остальная часть кода передает это запрос, в котором он затем удаляется. – null

ответ

2

Это будет выглядеть примерно так:

var deleteableItems = itemNames.map(n -> new DeleteableItem(ItemName = n)) 

Обратите внимание, что ваш DeleteableItem должен иметь конструктор с параметром ItemName.

+0

спасибо Talex, как только IntelliJ перезагрузится, я постараюсь отметить ответ. :) – null

+1

Да, если вы переводите с LINQ на функциональное программирование, 'Select == map',' SelectMany == flatMap', 'Where == filter'. Должен сказать, странная терминология. – Haspemulator