Implement a Function to uppercase the first letter in Strings.
Uppercase first. This Function uppercases the first letter. It acts upon a VB.NET String. The value "test" becomes "Test". None of the other characters should be modified. And if the first character is whitespace or a digit, it should not be affected.StringsFunction
Here: We introduce a custom method that uppercases the first letter. A built-in method, ToTitleCase, is also available in the Framework.
Example. First, this program introduces the UppercaseFirstLetter function, which receives a String and returns a String. In this function, we first test for null or empty parameters, and exit early in this case.
Next: We call ToCharArray to convert the String into a mutable array of characters.
Then: We use the Char.ToUpper method to uppercase the first letter, and we finally return a new String instance built from the character array.
VB.NET program that uppercases first letter
Function UppercaseFirstLetter(ByVal val As String) As String
' Test for nothing or empty.
If String.IsNullOrEmpty(val) Then
' Convert to character array.
Dim array() As Char = val.ToCharArray
' Uppercase first character.
array(0) = Char.ToUpper(array(0))
' Return new string.
Return New String(array)
This function, which uses the ToCharArray constructor, is somewhat faster and less memory-intensive than a version that uses the Substring method multiple times. It cuts down on the number of new string instances allocated.
Tip: In performance analysis, eliminating string allocations is often a clear win. Using ToCharArray here helps.
Warning: This function has a limitation. It won't correctly process names that have multiple uppercase letters in them.
So: The name "McChrystal" would be changed to "Mcchrystal" if the input string was "mcchrystal". This could be corrected with a Dictionary.
ToTitleCase. Instead of this custom implementation, you could use the ToTitleCase function from the .NET Framework. With ToTitleCase, every word is capitalized, which is a slightly different behavior from the implementation above.ToTitleCase
Summary. We learned one way you can uppercase only part of a string, such as the first letter. You could develop more sophisticated logic to uppercase or change other parts of the character array. The approach would be equally effective.
Note: This method could be used to clean up poorly formatted character data, as from a text file or database.