有没有"更漂亮"的方式来做到这一点?

Mar*_*cus 0 c# foreach

说我有线

dirs.ToList().ForEach(d => item.Items.Add(MyMethod(d)));
Run Code Online (Sandbox Code Playgroud)

但是现在我想避免添加到我的列表中,如果该方法返回null.有没有比这更漂亮的方式

foreach(var d in dirs)
{
    object obj = MyMethod(d);
    if(obj != null)
        myList.Items.Add(obj);
}
Run Code Online (Sandbox Code Playgroud)

Ed *_* S. 10

我没有看到一个简单的循环出了什么问题.老实说,我不知道为什么有些人迫切需要使用LINQ或他们最近发现的任何闪亮的新工具/句法结构,而最简单和最合乎逻辑的答案就在他们面前.

你的循环没有错; 担心解决实际问题.

  • 我同意.这是一个令人不安的趋势,现在LINQ-ify在C#中的每一个循环:/我对此感到内疚. (2认同)