例を挙げてください。たとえば、次のものがあります。
- 一部の正規表現グループの名前を列挙する CheckedListBox コントロール。
- ユーザーが入力テキストを印刷できる TextBox コントロール
- 入力テキストが正規表現に一致し、チェックされた (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");
では、OfType または Cast メソッドを明示的に使用せずに、CheckedItemCollection (同様のインターフェイス リストを実装) と同様のコレクションから LINQ 機能を取得する機会はありますか?
PS: これはほんの一例ですので、あまり批判しないでください..