SplitName ( String sEnumName, EnumSplitStyle eEnumSplitStyle ) { Debug.Assert(sEnumName != null); Debug.Assert(Enum.IsDefined(typeof(EnumSplitStyle), eEnumSplitStyle)); StringBuilder oStringBuilder = new StringBuilder(); Int32 iLength = sEnumName.Length; Boolean bConvertToLowerCase = (eEnumSplitStyle == EnumSplitStyle.AllWordsStartLowerCase || eEnumSplitStyle == EnumSplitStyle.FirstWordStartsUpperCase); // Loop through the characters. for (Int32 i = 0; i < iLength; i++) { Char cChar = sEnumName[i]; if (i > 0 && Char.IsUpper(cChar)) { // Insert a space. oStringBuilder.Append(' '); // Convert to lower case if requested. if (bConvertToLowerCase) { cChar = Char.ToLower(cChar); } } oStringBuilder.Append(cChar); } // Convert the first character to lower case if requested. if (iLength > 0 && eEnumSplitStyle == EnumSplitStyle.AllWordsStartLowerCase) { oStringBuilder[0] = Char.ToLower(oStringBuilder[0]); } return(oStringBuilder.ToString()); }
SplitName ( String sEnumName, EnumSplitStyle eEnumSplitStyle ) { Debug.Assert(sEnumName != null); Debug.Assert( Enum.IsDefined(typeof(EnumSplitStyle), eEnumSplitStyle) ); StringBuilder oStringBuilder = new StringBuilder(); Int32 iLength = sEnumName.Length; Boolean bConvertToLowerCase = (eEnumSplitStyle == EnumSplitStyle.AllWordsStartLowerCase || eEnumSplitStyle == EnumSplitStyle.FirstWordStartsUpperCase); // Loop through the characters. for (Int32 i = 0; i < iLength; i++) { Char cChar = sEnumName[i]; if ( i > 0 && Char.IsUpper(cChar) ) { // Insert a space. oStringBuilder.Append(' '); // Convert to lower case if requested. if (bConvertToLowerCase) cChar = Char.ToLower(cChar); } oStringBuilder.Append(cChar); } // Convert the first character to lower case if requested. if (iLength > 0 && eEnumSplitStyle == EnumSplitStyle.AllWordsStartLowerCase) { oStringBuilder[0] = Char.ToLower( oStringBuilder[0] ); } return ( oStringBuilder.ToString() ); }