English 中文(简体)
Why doesnt Regex.Match have a GetEnumerator function?
原标题:

Regex.Match has a .Success and .NextMatch why doesnt it have a GetEnumerator function?

With my logic it seems easy enough to implement. But it isnt in 3.5 so can anyone tell me why not?

foreach (var m in Regex.Match("dummy text", "mm")) error CS1579: foreach statement cannot operate on variables of type  System.Text.RegularExpressions.Match  because  System.Text.RegularExpressions.Match  does not contain a public definition for  GetEnumerator 
最佳回答

Perhaps you want Regex.Matches?

问题回答
Regex.Match 

returns the first instance of the pattern that is matched in the string.

You probably want

Regex.Matches

, which returns a MatchCollection of all the matches in the string.

MSDN Article on Regex.Match

Because the Match object is immutable (and NextMatch() does not change the context of the current match, but gives you a reference to the next one, which is different from IEnumerable.MoveNext() ).

But you can do this:

for (Match m=Regex.Match("dummy text", "mm"); m.Success; m=m.NextMatch()) {
    // loop code
}




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签