c# - 使用 Linq 计算余弦和正弦

标签 c# linq

我编写了一些代码来计算正弦和余弦,但是,代码不太好,我想知道是否可以使用 Linq 编写代码来计算值。

这是我计算正弦的代码

        var primes = PrimeNumbers(3, 15);

        bool SumSub = false;
        decimal seno = (decimal)(nGrau * nSeno);
        foreach (var a in primes)
        {
            if (SumSub == false)
            {
                seno -= (decimal)Math.Pow(nGrau, (double)a) / Factorial(a);
                SumSub = true;
            }
            else
            {
                seno += (decimal)Math.Pow(nGrau, (double)a) / Factorial(a);
                SumSub = false;
            }
        }
        Console.WriteLine(seno);

是否可以编写代码来使用 linq 计算度数的正弦?

最佳答案

也许是这样的:

var sineResult = listDouble.Select((item, index) => 
                                    new {i = (index%2)*2 - 1, o = item})
                           .Aggregate(seno, (result, b) => 
                                      result - b.i * ((decimal)Math.Pow(nGrau, (double)b.o) / Factorial(b.o)));

代码

i = (index%2)*2 - 1

给你交替的1和-1。

Aggregate 语句对值进行求和,将每个值乘以 -1 或 1。

关于c# - 使用 Linq 计算余弦和正弦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20040802/

相关文章:

c# - 从 amazon s3 流式传输文件,并可在 C# 中进行查找

c# - 如何从 xamarin android 中的图库中获取选定的图像名称

c# - 如何使用 Linq 和 Entity Framework 获得不同的、不区分大小写的列表

c# - WPF 图像作为工具提示 - DPI 问题

c# - 在 Windows Phone 中编写控件

c# - MS UI 自动化 - 如何从 ControlType.text 获取文本

c# - 如何使用匿名 LINQ 结果填充 DataTable

c# - 如何将 T-SQL 查询转换为 linq

c# - 从 Expression<Func<T, T>> 生成动态更新命令

c# - "Replace with single call to single"是什么意思?