gpt4 book ai didi

c# - 学习 haskell : list comprehensions in C#

转载 作者:太空狗 更新时间:2023-10-29 17:28:38 25 4
gpt4 key购买 nike

以下代码在 Haskell 中。我如何在 C# 中编写类似的函数?

squareArea xs = [pi * r^2 | r <- xs]

澄清一下……上面的代码是一个函数,它将包含圆半径的列表作为输入。该表达式计算输入列表中每个圆的面积。

我知道在 C# 中,我可以通过遍历列表并计算列表中每个圆的面积并返回包含圆面积的列表来实现相同的结果。我的问题是...上面的代码是否可以用 C# 以类似的方式编写,也许使用 lambda 表达式或 LINQ?

最佳答案

使用 Enumerable :

IEnumerable<double> SquareArea(IEnumerable<int> xs)
{
return from r in xs select Math.PI * r * r;
}

IEnumerable<double> SquareArea(IEnumerable<int> xs)
{
return xs.Select(r => Math.PI * r * r);
}

这与 Haskell 的非常接近

squareArea xs = map (\r -> pi * r * r) xs

关于c# - 学习 haskell : list comprehensions in C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1849692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com