C#控制台(带参数,密码用*显示并可删除)
做了一点更改
public static void Main(string[] args)
{
//args接收通过外部传来的参数 格式:xxx.exe arg1 arg2 [arg3 ...]
foreach (var item in args)
{
Console.WriteLine(item);
}
//密码处理
char cPassword; //登陆时要用的密码
StringBuilder cPass = new StringBuilder();//关键方法
Console.Write("请输入密码:");
cPassword = Console.ReadKey(true).KeyChar;//输入字符可以让他不显示出来
while (cPassword != '\r')//回车
{
if (cPassword == '\b')//退格
{
if (cPass.Length == 0)
{
cPassword = (char)Console.ReadKey(true).KeyChar;//输入字符可以让他不显示出来
}
else
{
cPass.Remove(cPass.Length - 1, 1);
int cur_x= Console.CursorLeft;
int cur_y = Console.CursorTop;
Console.SetCursorPosition(cur_x - 1, cur_y);//光标定位 根据光标位置自己改动 x,y坐标
Console.Write(" ");
Console.SetCursorPosition(cur_x - 1, cur_y);//光标定位 根据光标位置自己改动
cPassword = (char)Console.ReadKey(true).KeyChar;
}
}
else
{
cPass.Append(cPassword);
Console.Write('*');
cPassword = (char)Console.ReadKey(true).KeyChar;
}
}
Console.WriteLine("\n"+cPass.ToString());//测试验证你的密码
Console.ReadKey();
}