Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C#

How to Toggle String Case in .NET

4.41/5 (9 votes)
14 Feb 2011CPOL 204.8K  
Shows how to toggle the contents of a string from upper case to lower, or vice versa
The following snippet shows how to toggle string casing in .NET:

C#
public string ToggleCase(string input)
{
    string result = string.Empty;
    char[] inputArray = input.ToCharArray();

    foreach (char c in inputArray)
    {
        if (char.IsLower(c))
            result += c.ToString().ToUpper();
        else if (char.IsUpper(c))
            result += c.ToString().ToLower();
        else
            result += c.ToString();
    }

    return result;
}


This code snippet could be simplified as follows:
C#
public string ToggleCase(string input)
{
    string result = string.Empty;
    char[] inputArray = input.ToCharArray();
    foreach (char c in inputArray)
    {
        if (char.IsLower(c))
            result += Char.ToUpper(c);
        else
            result += Char.ToLower(c);
    }
    return result;
}


But still performance of Alternate 1 and Alternate 2 is 2...3 times better than of this one: see the online comparative test at: http://webinfocentral.com/resources/toggleCaseAlgorithm.aspx[^]

Regards,
Alex Bell

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)