
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Creating a One-to-Many Map (MultiMap)
|
623
For the previous equation, starting at the lefthand side, you push one left parenthe-
sis on the stack and then immediately push a second one. You consume the
a and +
characters and then come upon a third left parenthesis; your stack now contains
three left parentheses. You consume the
b character and come upon two right paren-
theses in a row. For each right parenthesis, you will pop one matching left parenthe-
sis off the stack. Your stack now contains only one left parenthesis. You consume the
+ and c characters and come upon the last right parenthesis in the equation. You pop
the final left parenthesis off the stack and then check the rest of the equation for any
other parentheses. Since the stack is empty and you are at the end of the equation,
you know that each left parenthesis has a matching right parenthesis.
For the
Check methods in this recipe, the location in the string where each left paren-
thesis is located is pushed onto the stack. This allows you to immediately locate the
offending parenthesis.
See Also
See the “Stack<T> Class” topic in the MSDN documentation.
11.5 Creating a One-to-Many Map (MultiMap)
Problem
A Hashtable or a Dictionary<T,U> can map only a single key to a single value, but you
need to map a key to one or more values. ...