我在变量“ selectedElementArray”中有一个FrameworkElements的ArrayList

下面的代码用于将控件与顶部对齐

    double top = 100;
    selectedElementArray.Cast<FrameworkElement>()
        .ToList()
        .ForEach(fe => Canvas.SetTop(fe, top));


这很好。

但我需要避免在“ selectedElementArray”中存在的FrameworkElement,例如parentElement

selectedElementArray.Cast<FrameworkElement>()
       .ToList()
       .Except(parentElement)
       .ToList()
       .ForEach(fe => Canvas.SetTop(fe, top));


我尝试使用“例外”。但抛出一些异常。

请帮助...。

比尼尔

最佳答案

您只需要一个where子句。

selectedElementArray.Cast<FrameworkElement>()
   .Where(element => element != parentElement)
   .ToList()
   .ForEach(fe => Canvas.SetTop(fe, top));


要使用except,您需要传递IEnumerable

selectedElementArray.Cast<FrameworkElement>()
   .Except(new FrameworkElement[]{ parentElement })
   .ToList()
   .ForEach(fe => Canvas.SetTop(fe, top));

10-05 18:07