Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Determining Where Characters or Strings Do Not Balance
|
619
11.4 Determining Where Characters or Strings
Do Not Balance
Problem
It is not uncommon to accidentally create strings that contain unbalanced parenthe-
ses. For example, a user might enter the following equation in your calculator
application:
(((a) + (b)) + c * d
This equation contains four ( characters while matching them with only three ) char-
acters. You cannot solve this equation, since the user did not supply the fourth
)
character. Likewise, if a user enters a regular expression, you might want to do a sim-
ple check to see that all the
(, {, [, and < characters match up to every other ), }, ],
and
> character.
In addition to determining whether the characters/strings/tags match, you should
know where the unbalanced character/string/tag exists in the string.
Solution
Use the various Check methods of the Balance class shown in Example 11-6 to deter-
mine whether and where the character/string is unbalanced.
Example 11-6. Balance class with overloaded Check methods
using System;
using System.Collections;
public class Balance
{
public Balance( ) {}
private Stack<int> bookMarks = new Stack<int>( );
public int Check(string source, char openChar, char closeChar)
{
return (Check(source.ToCharArray( ), openChar, closeChar));
}
public ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
C# Cookbook

C# Cookbook

Joe Mayo
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata