C# 控制台密码显示星号

怎么实现输入的密码是星号?using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConX{ class Program { static void Main(string[] args) { Console.WriteLine("欢迎使用本程序\n"); Console.Write("请输入用户名:"); var user = Console.ReadLine(); Console.Write("请输入密码:"); var pw = Console.ReadLine(); while (user != "admin" || pw != "nmnba456") { Console.Clear(); Console.WriteLine("用户名或密码错误"); Console.Write("请重新输入用户名:"); user = Console.ReadLine(); Console.Write("请重新输入密码:"); pw = Console.ReadLine(); } Console.WriteLine("用户名及密码正确"); Console.ReadKey(); } }}

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConX { class Program { static void Main(string[] args) { Console.WriteLine("欢迎使用本程序\n"); Console.Write("请输入用户名:"); var user = Console.ReadLine(); Console.Write("请输入密码:"); var pw = ReadPasswd(); while (user != "admin" || pw != "nmnba456") { Console.Clear(); Console.WriteLine("用户名或密码错误"); Console.Write("请重新输入用户名:"); user = Console.ReadLine(); Console.Write("请重新输入密码:"); pw = ReadPasswd(); } Console.WriteLine("用户名及密码正确"); Console.ReadKey(); } private static string ReadPasswd() { StringBuilder sb = new StringBuilder(); ConsoleKeyInfo k; while (true) { k = Console.ReadKey(); if (k.Key == ConsoleKey.Enter) { return sb.ToString(); } Console.CursorLeft--; Console.Write("*"); sb.Append(k.KeyChar); } } } } 这样就行了
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答