I couldn't resist to give a Linq/delegate alterantive to the original tip.
How about this:
public class Program
{
public static void Main()
{
string s = "AbCdEfGhI§$%&/()1234567890";
Func<char, char> toggle = c => char.IsUpper(c) ? char.ToLower(c) : char.ToUpper(c);
Console.WriteLine(s);
Console.WriteLine(new string(s.Select(toggle).ToArray()));
}
}
Performance may be not optimal, but probably good enoug for many cases...
Cheers
Andi
I feel comfortable on a variety of systems (UNIX, Windows, cross-compiled embedded systems, etc.) in a variety of languages, environments, and tools.
I have a particular affinity to computer language analysis, testing, as well as quality management.
More information about what I do for a living can be found at
my LinkedIn Profile and on my company's
web page (German only).