WinForm中TextBox控件的PasswordChar属性默认是没有设置的或者说没有开启密码模式,当设置了该属性之后就会开启密码模式,输入的内容以设置的该属性的值来显示。那么该如何取消PasswordChar的设置呢?归纳起来有三种方法,其本质都是把PasswordChar的值赋值为默认值,赋值为默认值后就会按照正常文本进行显示。三种方法代码如下。
this
.textBox1.PasswordChar =
new
char
();
this
.textBox1.PasswordChar =
'\0'
;
this
.textBox1.PasswordChar =
default
(
char
);
这种方法分别用了三种赋值方式,char是值类型,同时是结构体类型。使用new char()得到的是一个结构体实例,同时会得到默认值;‘\0’是char类型的结尾值,任何一个char类型的变量的值都是以它为结尾,在存储中占一bit(位);default关键字,此关键字对于引用类型会返回 null,对于数值类型会返回零。 对于结构,此关键字将返回初始化为零或 null 的每个结构成员,具体取决于这些结构是值类型还是引用类型。对于可以为 null 的值类型,默认返回 System.Nullable,它像任何结构一样初始化。那么使用default关键字得到的就是char类型的默认值。
这三种方法赋值并编译后都是转化为了‘\0’,编译后的C#代码如下。
char ch = '\0';
char ch2 = '\0';
char ch3 = '\0';
Console.WriteLine("字符ch的初始值是:{0},{1},{2}", ch, ch2, ch3);
参考资料:
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/generics/default-keyword-in-generic-code
http://www.cnblogs.com/ooip/p/4709941.html
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/char
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161462.html原文链接:https://javaforall.cn