How to capitalize the first character of each word, or the first character of a whole string using Csharp?

How to capitalize on the first character of each word or the first character of a whole string using C#?

Method 1: Using C#, you can capitalize on the first letter of each word in a string by using a method ToTitleCase() which is present in a TextInfo Class and this class belongs to System.Globalization namespace.

  • Create a character array of the String
  • Run a loop from the first letter to the last letter.
  • Uppercase the letters following space.
  • Scan through the character, Checking for space.
using System;

namespace Usingcsharp
{
    class Program
    {
        /* How to Capitalize the First Letter of Each word in a string in C# */
        static void Main(string[] args)
        {
            Console.Write("Enter The String Need to be Capitalized: ");
            string str = Console.ReadLine();
            string titleCase = CapitalizeFirstLetter(str);
            //Print The Result
            Console.WriteLine("Capitalized String: "+ titleCase);

            //Hit ENTER to exit the program
            Console.ReadKey();
        }

        static string CapitalizeFirstLetter(string value)
        {
            //In Case if the entire string is in UpperCase then convert it into lower
            value = value.ToLower();
            char[] array = value.ToCharArray();
            // Handle the first letter in the string.
            if (array.Length >= 1)
            {
                if (char.IsLower(array[0]))
                {
                    array[0] = char.ToUpper(array[0]);
                }
            }
            // Scan through the letters, checking for spaces.
            // ... Uppercase the lowercase letters following spaces.
            for (int i = 1; i < array.Length; i++)
            {
                if (array[i - 1] == ' ')
                {
                    if (char.IsLower(array[i]))
                    {
                        array[i] = char.ToUpper(array[i]);
                    }
                }
            }
            return new string(array);
        }
    }
}

Output

Enter String to be Capitalized: using c sharp

Capitalized String: Using C Sharp

 

Enter String to be Capitalized: USING C SHARP

Capitalized String: Using C Sharp

 

Enter String to be Capitalized: uSING C SHARP

Capitalized String: Using C Sharp

Method 2: In this method

using System;
using System.Globalization;

namespace Usingcsharp
{
    class Program
    {
        /* How to Capitalize a First letter of Each word in a string in C# */
        static void Main(string[] args)
        {
            Console.Write("Enter The String Need to be Capitalized: ");

            string str = Console.ReadLine();
            string titleCase = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(str.ToLower());
            //Print The Result
            Console.WriteLine("Capitalized String: "+ titleCase);

            //Hit ENTER to exit the program
            Console.ReadKey();
        }
    }
}

Output

Enter String to be Capitalized: using c sharp

Capitalized String: Using C Sharp

 

Enter String to be Capitalized: USING C SHARP

Capitalized String: Using C Sharp

 

Enter String to be Capitalized: uSING C SHARP

Capitalized String: Using C Sharp

 

 

Define the function ToTitleCase in a static class of your project

using System.Globalization;

public static string ToTitleCase(this string title)
{
    return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(title.ToLower()); 
}

2021-10-03