主题:[讨论]命令行下如何设置密码字符(输入字符时显示为*)
tb0502527
[专家分:0] 发布于 2006-07-03 19:42:00
c#中,命令行下如何设置密码字符(根据输入字符的多少,显示*)
回复列表 (共3个回复)
沙发
jzyray [专家分:20610] 发布于 2006-07-03 22:17:00
.net 2.0中,Console.ReadKey(true);可以读取当前按下的键,记录下来之后再Console.Write('*');循环往复……
板凳
cipc [专家分:2280] 发布于 2006-07-03 22:32:00
你的问题提得很有意思。。。我试了一下。。以下应该有符合你的要求。具体CODE请看:
namespace Temp
{
using System;
using System.Text;
class Program
{
static void Main(string[] args)
{
// 记录输入信息
ConsoleKeyInfo chi;
// 储存输入的值
StringBuilder sb = new StringBuilder();
// 直到输入的是回车才停止
do
{
// 这里的参数false表示显示所输入的字符、true表示不显示
chi = Console.ReadKey(true);
// 将输入的结果存入到StringBuilder类型中
sb.Append(chi.KeyChar.ToString());
// 用*来代替
Console.Write("*");
} while (chi.Key != ConsoleKey.Enter);
// 为了美观显示结果时多显示一行。
Console.WriteLine();
// 输出结果
Console.WriteLine(sb.ToString());
// 暂停
Console.ReadLine();
}
}
}
我来回复