从IEnumerable列表中查找对象

时间:2014-11-25 15:30:52

标签: c# asp.net .net

我想在IEnumerable<Control>中找到特定控件。

结果包含许多控件,例如System.Web.UI.LiteralControls...ContentPlaceHolders等。

如何检索文本框列表?

2 个答案:

答案 0 :(得分:6)

您可以尝试OfType<T>

IEnumerable<TextBox> textboxes = myEnumerable.OfType<TextBox>();

答案 1 :(得分:0)

您可以使用LINQ快速实现:

IEnumerable<TextBox> textboxes = myEnumerable.OfType<TextBox>();

或&#34; manualy&#34;:

var textBoxes = new List<TextBox>();

foreach(var ctrl in controls)
{
  if( ctrl is TextBox )
  {
     textBoxes.Add(ctrl);
  }
}