Hi,
I don't know if C# supports \U, \L, \u, and \l notions which can change cases of the following letters, i.e. "\Usmith" will print "SMITH", and "\usmith" print "Smith".
in Perl, your problem can be done in a simple s/// expression:
s/(\w)(\w*)|./\u$1\L$2/g
If you want to also remove the underscore '_', change \w to [0-9a-zA-Z]
under C#, even if you can not do \u, \L stuff, I guess you might still use a similar pattern:
(\w)(\w*)|.
and then write a function which accepts $1, $2 as its arguments, and change $1 to uppercase, $2 to lower case.
Good luck,
Xicheng
perl -le 'print"So~*kde~box*DS*Zoxf*fe|er"^$\x23'