C# Lambda:使用 Event()

发布于 2024-10-09 01:20:13 字数 613 浏览 0 评论 0原文

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

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

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

这工作正常。

但我需要避免 FrameworkElement,比如parentElement,它存在于“selectedElementArray”中,

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

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

请帮助....

Binil

I have an ArrayList of FrameworkElements in variable "selectedElementArray"

and the below code is used to align controls to top

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

this is working fine.

but i need to avoid a FrameworkElement, say parentElement, which exists in "selectedElementArray"

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

i tried using "Except". but throwing some exception.

pls help....

Binil

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

诗笺 2024-10-16 01:20:13

您只需要一个 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));

You just need a where clause.

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

To use except, you need to pass an IEnumerable:

selectedElementArray.Cast<FrameworkElement>()
   .Except(new FrameworkElement[]{ parentElement })
   .ToList()
   .ForEach(fe => Canvas.SetTop(fe, top));
独留℉清风醉 2024-10-16 01:20:13

也许你想要这样的东西?

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

或者也许:

foreach (var fe in selectedElementArray.Cast<FrameworkElement>()
                                       .Where(fe => fe != parentElement))
    Canvas.SetTop(fe, top);

Maybe you want something like this?

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

Or maybe:

foreach (var fe in selectedElementArray.Cast<FrameworkElement>()
                                       .Where(fe => fe != parentElement))
    Canvas.SetTop(fe, top);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文