解决方法如同昆虫世界多姿多彩:
善于总结就会发现,小写与大写的二进制存在某种转换关系:比如:
大写A 二进制:0100 0001小写a 二进制:0110 0001...大写Z 二进制:0101 1010小写z 二进制:0111 1010可以发现个规律:大小写差别在于第6位的位值,也就是相差32;所以要把大写转换成小写,只需要把它第6位置1;小写转换成大写,把它置0,其他位保持不变;得到两个掩码:大写--〉小写 0010 0000小写--〉大写 1101 1111//////////////////////////////////A: 0100 0001or 0010 0000------------- a: 0110 0001//////////////////////////////////a: 0110 0001and 1101 1111------------- A: 0100 0001///////////////////////////////////转换成大写static string ToUpper(string str){ string result = string.Empty; for (int i = 0; i < str.Length; i++) result += (char)(str[i] & 223); return result;}//转换成小写static string ToLower(string str){ string result = string.Empty; for (int i = 0; i < str.Length; i++) result += (char)(str[i] | 32); return result;}原文:http://www.cnblogs.com/lanke0/p/5362901.html