請讓我舉個例子。 說,我們有:如何從集合中獲取Linq?
- 一個CheckedListBox控件枚舉一些正則表達式組的名稱。
- 一個TextBox控件,用戶可以在打印一些輸入文本
- 一個按鈕,這使得PROGRAMM檢查,如果輸入文本的正則表達式匹配,並顯示爲選中的(在我們的CheckedListBox)組的值給用戶。
讓按鈕單擊事件處理程序是這樣的:
Regex r = new Regex(@"^(?<Num5>\d{1,5})\:(?<SomeText>.{1,})$");
Match m = r.Match(textBox1.Text);
if (m.Success)
{
MessageBox.Show(
string.Concat(
checkedListBox1.CheckedItems
.OfType<string>()
.Where(s => m.Groups[s].Success)
.SelectMany(s => string.Format("{0}: {1}\n",
s,
m.Groups[s].Value))));
}
else
MessageBox.Show("Input text didn't match");
那麼,有沒有機會獲得從集合中的LINQ功能類似於CheckedItemCollection(實現類似的界面列表)沒有明確的使用ofType或Cast方法?
PS:這只是一個例子,所以,請不要對此太關鍵了..