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 で使用する方がはるかに優れている別の理由はありますか?