C#Lambda:使用Event& lt; T& gt;() [英] C# Lambda : using Event<T>()
本文介绍了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& lt; T& gt;()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文