C# で正規表現一致のグループが必要な場合は、MatchCollection
. グループのグループとGroupCollection
.
ただし、(私の知る限り)そうであっても、4.5であっても、それらは両方とも非ジェネリックです。
IEnumerable<T>
から継承しているため、何も壊さないでIEnumerable
ください。- LINQ で使いやすくします。たとえば、
myMatchCollection.Cast<Match>().SomeLINQMethod()
単に行う代わりにmyMatchCollection.SomeLINQMethod()
- 最初からキャストする必要がないので、より効率的にします。
- チームの負担が大きすぎることはありません。内部実装を から || に変更するだけ
ArrayList
ですList<Match
。Group>
(地獄、Match[]
||のようなものでもGroup[]
) メソッドを追加しMatch GetEnumerator
ます。これには 5 分もかかりません。
ただし、ここでの私の質問は次のとおりです。何か不足していますか? それらをジェネリックに変更できず、LINQ で使用する方がはるかに優れている別の理由はありますか?