C#Lambda:使用Event& lt; T& gt;() [英] C# Lambda : using Event<T>()

查看:64
本文介绍了C#Lambda:使用Event& lt; T& gt;()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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));

这很好.

但是我需要避免存在于"selectedElementArray"中的FrameworkElement,例如parentElement

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.

请帮助....

Binil

推荐答案

你只需要一个 where 子句.

You just need a where clause.

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));

这篇关于C#Lambda:使用Event&amp; lt; T&amp; gt;()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆