例如.假设我们在表单上有一个stackpanel.它充满了网格和标签.我想循环遍历所有网格并对它们进行一些操作,但保留Lables完整.目前我正是这样做的.
foreach(UIElement element in m_stacker.Children)
{
Grid block = element as Grid;
if(block != null)
{
//apply changes here
}
}
Run Code Online (Sandbox Code Playgroud)
所以我使用的事实是"as"如果无法转换为所需类型则返回null.这是一件好事还是有更好的解决方案来解决这个问题?
tan*_*ius 13
那么OfType()呢?
foreach( var grid in m_stacker.Children.OfType<Grid>() ) { ... }
Run Code Online (Sandbox Code Playgroud)
这将仅循环到Grid类型的子节点,因此根本不需要强制转换或检查类型.