黑马程序员技术交流社区
标题:
显示密码为星号。我有一个疑问!
[打印本页]
作者:
?﹪滾妳媽丶
时间:
2014-3-22 22:13
标题:
显示密码为星号。我有一个疑问!
今天看到基础加强第一课,那个密码显示星号有个问题搞不懂。
Console.WriteLine("请输入密码");
string ck = "";
while (true)
{
ConsoleKeyInfo key;
key = Console.ReadKey(true);
if (key.KeyChar == '\r')
{
break;
}
if (key.KeyChar != '\b') //&& key.KeyChar != ' ')
{
Console.Write("*");
}
else if (ck.Length == 0)
{
continue;
}
else
{
Console.Write("\b \b");
ck = ck.Substring(0, ck.Length - 1);
continue;
}
ck=key.KeyChar+ck;
}
Console.WriteLine();
Console.WriteLine("密码为{0}", ck);
Console.ReadKey();
疑问:假如一出来就按回车键,提示密码为空或者不显示输出密码该怎么做。。
作者:
百川
时间:
2014-3-22 23:32
加一个if判断:即判断输入回车时ck.Length是否小于1。将你上面的代码中的:
if (key.KeyChar == '\r')
{
break;
}
改为:
if ((key.KeyChar == '\r') && (ck.Length < 1))
{
ck = "空";
break;
}
else if (key.KeyChar == '\r')
{
break;
}
如果要不显示密码就改成:
if ((key.KeyChar == '\r') && (ck.Length == 0))
{
ck = "";
}
else if (key.KeyChar == '\r')
{
break;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2