c# - 我如何将代码更改为linq样式

标签 c# linq lambda

您能否帮助我使此代码更具有Linq风格。
我只是想在这里学习新事物。

IList<object[]> argsPerCallforserialization = new List<object[]>();

            foreach (var argument in argsPerCall)
            {
                object[] temp = new object[6];
                temp[0] = argument[0];
                temp[1] = argument[1];
                temp[2] = argument[2];
                temp[3] = ((McPosition)argument[3]).Station;
                temp[4] = ((McPosition)argument[3]).Slot;
                temp[5] = ((McPosition)argument[3]).Subslot;
                argsPerCallforserialization.Add(temp);
            }


谢谢 。

最佳答案

听上去像:

var argsPerCallforserialization = argsPerCall.Select
     (argument => new object[] { argument[0], 
                                 argument[1],
                                 argument[2],
                                 ((McPosition)argument[3]).Station,
                                 ((McPosition)argument[3]).Slot,
                                 ((McPosition)argument[3]).Subslot })
    .ToList();


不能说听起来像是工作中最好的API,但是...

关于c# - 我如何将代码更改为linq样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7470753/

相关文章:

java - 如何使用 lambda 产品过滤 Java 8 中的嵌套流

c# - dotnet core autofac 和 json 配置它们可以在控制台应用程序中一起工作吗

c# - 在 WPF 窗口中显示正在运行的计时器

c# - 我想使用 LINQ 获取最频繁的值

lambda - 对理解 lambda 和接收器感到困惑

python - 从 Python 解释器检查 lambda 代码

c# - Winforms绑定(bind)问题

c# - 带子项的 MVC PRG 模式

c# - LINQ for string StartsWith List<string> 中的某个值

c# - 获取手动构建的 LINQ 表达式的 "Operation could destabilize the runtime."异常