第1个回答 2008-11-24
int a = 0, b = 0, c = 0;
string str = "dcd4524DCdcdZ4dDE4d7e";
foreach (char ch in str)
{
int i = (int)ch;
if(i>96&&i<123) //如果是小写字母
{
a+=1;
}
else if (i > 64 && i < 91) //如果是大写字母
{
b += 1;
}
else if (i > 47 && i < 58) //如果是数字
{
c += 1;
}
}
Response.Write(string.Format(@"小写字母个数是{0},大写字母个数是{1},数字个数是{2}",a,b,c));
第2个回答 2008-11-24
修改了一下,更加直观。因为C#中Char是可以隐式转换为int的,所以,用char而不是对应的code去比较更好懂一些。
int a = 0, b = 0, c = 0;
string str = "dcd4524DCdcdZ4dDE4d7e";
foreach (char ch in str)
{
if(ch>('a'-1)&&ch<('z'+1)) //如果是小写字母
{
a+=1;
}
else if (ch > ('A'-1) && ch < ('Z'+1)) //如果是大写字母
{
b += 1;
}
else if (ch > ('0'-1) && ch < ('9'+1)) //如果是数字
{
c += 1;
}
}
Response.Write(string.Format(@"小写字母个数是{0},大写字母个数是{1},数字个数是{2}",a,b,c));