从 IEnumerable 列表中查找对象

本文关键字:查找 对象 列表 IEnumerable | 更新日期: 2023-09-27 18:32:07

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

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

例如,如何检索文本框列表?

从 IEnumerable 列表中查找对象

你可以

试试OfType<T>

IEnumerable<TextBox> textboxes = myEnumerable.OfType<TextBox>();
您可以使用

LINQ 快速实现它:

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

或"手动":

var textBoxes = new List<TextBox>();
foreach(var ctrl in controls)
{
  if( ctrl is TextBox )
  {
     textBoxes.Add(ctrl);
  }
}