C# Scala Linq备选方案

C# Scala Linq备选方案,c#,linq,scala,C#,Linq,Scala,我试图将一个应用程序从.net重新编写到Scala,主要是为了练习,我遇到了这个Linq表达式,我不知道如何使用它。林克对我来说也是陌生的,所以我有点不太懂 private void DeleteItems(AmazonSimpleDB client, IEnumerable<string> itemNames) { var deleteableItems = from n in itemNames select new DeleteableItem() {

我试图将一个应用程序从.net重新编写到Scala,主要是为了练习,我遇到了这个Linq表达式,我不知道如何使用它。林克对我来说也是陌生的,所以我有点不太懂

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

我正在使用“地图”查看其他一些答案,但到目前为止还没有成功,谢谢您的帮助。

它看起来像这样:

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

请注意,您的DeleteableItem应该具有带有ItemName参数的构造函数。

它将如下所示:

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

请注意,DeleteableItem应该具有带有ItemName参数的构造函数。

您的问题是什么?您显示的代码创建了IEnumerable deletableItems:对于itemNames中的每个字符串,将创建DeleteableItem的一个实例,并将其属性ItemName设置为该字符串。如果这是该方法的完整代码,则该方法似乎没有用,因为该序列未在任何地方使用。如果您有特定问题,则更容易提供帮助。@Rene Vogt,抱歉,我认为这个片段已经足够了,因为剩下的代码会将其传递给一个请求,然后删除它。你知道这个片段实际上什么都不做,对吗?你从来都不关心IEnumerable,这是懒惰的,你的问题到底是什么?您显示的代码创建了IEnumerable deletableItems:对于itemNames中的每个字符串,将创建DeleteableItem的一个实例,并将其属性ItemName设置为该字符串。如果这是该方法的完整代码,则该方法似乎没有用,因为该序列未在任何地方使用。如果您有特定问题,则更容易提供帮助。@Rene Vogt,抱歉,我认为这个片段已经足够了,因为剩下的代码会将其传递给一个请求,然后删除它。你知道这个片段实际上什么都不做,对吗?你永远不会把IEnumerable(IEnumerable)变成物质,这在Cthank You Talex中是懒惰的,IntelliJ一重新启动,我就会尝试标记答案是的,如果您将LINQ转换为函数式编程,请选择==map,选择many==flatMap,其中==filter。奇怪的术语,我不得不说。谢谢Talex,一旦IntelliJ重新启动,我会尝试标记答案是的,如果您将LINQ转换为函数式编程,请选择==map,选择many==flatMap,其中==filter。我不得不说,奇怪的术语。