如何在TextBox中启用除最后N个字符以外的密码字符?
我已经尝试过这种方法
cardnumber.Select((c, i) => i < cardnumber.Length - 4 ? 'X' : c).ToArray()
但操作起来很难,我会在Keypress
等每个事件中传递原始卡值,
TextChange
等等。
我的方式是否更简单易管理?
答案 0 :(得分:4)
这应该可以解决问题,
string pw = "password1234";
char[] splitpw;
string cenpw;
int NtoShow;
splitpw = new char[pw.Length];
splitpw = pw.ToCharArray();
NtoShow = 4;
for (int i = 0; i < pw.Length; i++)
{
if (i < pw.Length - NtoShow)
cenpw += "*";
else
cenpw += splitpw[i];
}
//cenpw: "********1234"