Char class is complete!
good grief...
Char class provides IsUpper(), IsLower(), IsDigit(), IsLetterOrDigit(), IsPunctuation(), IsSymbol(), IsSeparator(), IsSymbol(), IsWhiteSpace(), IsSurrogate() (which means the character is represented by two 16 bit "surrogate" characters, whatever!)
thanks Microsoft...
public class StringManipulator
{
public static string SpaceMyCamelCase(string camelCaseValue)
StringBuilder sbReturn = new StringBuilder();
char[] charAry = camelCaseValue.ToCharArray();
sbReturn.Append(charAry[0]);
for(int ic=1;ic<charAry.Length;ic++)
if( Char.IsUpper(charAry[ic]) ) sbReturn.Append(" ");
sbReturn.Append(charAry[ic]);
}
return sbReturn.ToString();
By the way, you don't need to convert the string o a character array. You can reference the string as if it were a character array!
sbReturn.Append(camelCaseValue[0]);
for(int ic=1;ic<camelCaseValue.Length;ic++)
if( Char.IsUpper(camelCaseValue[ic]) ) sbReturn.Append(" ");
sbReturn.Append(camelCaseValue[ic]);
I don't know which one is better except that the former is clearer to the casual observer, IMHO