tags:

views:

61

answers:

4

In my code I need to compare string letters but my problem is that lower case letters are greater than upper case letter.

For example Z < a.

How could I implement this in my code ?

Thanks

+2  A: 

What if you make them both uppercase and compare afterwards ? (I guess you do not want to test equality)

thelost
A: 

Are you using char's in the end? If yes, you could just remap the ranges of the integer values of the characters.

Marcel
+3  A: 
String.Compare(string1, string2, false);

String.Compare will do a string comparisson and ignore their case. It returns an integer representing the match.

Using your example:

// Will result in true
String.Compare("Z", "a", false) > 0
Josh
he said, that he'd like to compare chars, not a whole string. therefore he'd need to browse through the string maybe with charAt and do the comparision then...
Gnark
Either way String.Compare will work. If you pass in a single character it will work, or if you pass in something like "Bob" it will do an ordinal comparisson and return their lexical relationship. This is what .Net will use under the hood when sorting an array of strings.
Josh
+3  A: 

just use :

String.Compare( string , string , StringComparison)

with the StringComaparison set to InvariantCultureIgnoreCase , OrdinalIgnoreCase or CurrentCultureIgnoreCase depending on context....

http://msdn.microsoft.com/en-us/library/e6883c06.aspx

Adrian