首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 擴展方法進階技巧:Enumerable.Cast<T> 基礎應用於 WinForms 控制項 (上)

     編輯:關於C語言

Cast<T> 將 IEnumerable 轉為 IEnumerable<T>,解鎖 LINQ 查詢能力。MSDN 僅示範 ArrayList,實際應用遠不止於此。

WinForms 控制項集合應用

ListView.Items、ComboBox.Items、DataGridView.SelectedRows/Columns/Cells、TreeNode.Nodes、Control.Controls 均為非泛型集合,適用 Cast<T>。

實用範例

// DataGridView 選中列處理(最高頻場景)
var rows = dataGridView.SelectedRows.Cast<DataGridViewRow>();
int avgAge = rows.Cast<Employee>().Average(p => p.Age);
string[] cities = rows.Cast<Employee>().Select(p => p.City).Distinct().ToArray();

// 所有控制項遞迴處理
var allControls = this.Controls.Cast<Control>();

基本轉換範例

ArrayList fruits = new ArrayList();
fruits.Add("apple"); fruits.Add("mango");
IEnumerable<string> query = fruits.Cast<string>();

善用 Cast<T> 可大幅精簡 WinForms 非泛型集合的查詢與處理程式碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved