this.textBox1.Text 和 textBox1.Text 两种写法哪一个更好?
解决方案 »
- silverlight用按钮在本窗口中打开另一个窗口
- WinForm的分割怎么做啊
- 有序表 {10,20,30,40,50,60,70,80 }我采用折半查找算法时 ,则查找成功的平均长度为
- 请问高手:如何在安装程序中让用户输入密码并保存起来?
- 请问记事本中的 “编辑”中的“时间/日期”功能是怎么实现的??
- 如何实现数据库中某一个关系的所有元组的一个列都加1
- 如何把一个字符串的头尾去掉?
- WPF中的定时器
- 如何取得datagridview中某个单元格的值???在线等
- 关于DESCryptoServiceProvider加密的问题
- 如何判断Webbrower 跳转到下一个页面时加载完毕。或者如何读取页面的信息
- 关于串口的问题
如果不需要区分这些控件,当然是后者好,简便
其实执行效果是一样的
在这里没什么区别。
在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等;
也可以用this来做为参数状当前实例做为参数传入方法.
还可以通过this[]来声明索引器下面是程序实例:
using System; // 引入使命空间System
namespace CallConstructor // 声明命名空间CallConstructor
{
public class Car // 声明类Car
{
int petalCount = 0; //在Car类中声明一个非静态的整型变量petalCount,初始值为0
未用Static声明的变量叫做静态变量,非静态成员属类的实例,我们只能在调用类的构
造函数对类进行实例化后才能通过所得的实例加"."来访问声明一个非静态的字符串变量s,
初始值为"null"; 注意:s = "null"与s = null是不同的
String s = "null";
Car(int petals) // Car类的默认构造函数
{
petalCount = petals; // Car类的默认构造函数中为 petalCount 赋值为传入的参数petals的值
Console.WriteLine("Constructor w/int arg only,petalCount = " + petalCount); // 输出petalCount
}
Car(String s, int petals)// 重载Car类的构造函数 Car(String s, int petals)的第二个参数
: this(petals) // : this(petals) 表示从当前类中调用petals变量的值来作为构造函数重载方法
{
this.s = s;
Console.WriteLine("String & int args");
}
// 在构造函数中为s赋值
// 非静态成员可以在构造函数或非静态方法中使用this.来调用或访问,也可以直接打变量的名字,因此这一句等效于s = s,
//但是这时你会发类的变量s与传入的参数s同名,这里会造成二定义,所以要加个this.表示等号左边的s是当前类自己的变量
Car() // 重载构造函数,:
: this("hi", 47) // this("hi", 47) 表示调Car(String s, int petals) 这个重载的构造函数,并直接传入变量"hi"和47
{
Console.WriteLine("default constructor");
}
public static void Main()
{
Car x = new Car();
Console.Read();
}
}
}
比较使用:第一个this的意思是调用Car(int petals)方法的属性petals。
第二个this的意思是实例化Car(String s, int petals)方法中的参数s(this.s = s)。
第三个this是调用Car(String s, int petals)方法的两个参数并传参
如果类成员写成m_TextBox1 或 _textBox1,已经很清楚它们是类成员了,一般不写this。
编写上,this. 提供更友好的Intelisense。
public int myint = 1;
public void test(int myint)//暂且不论我这个代码的实际意义,仅从语法上来看
{
myint = 1;//这个是给参数中那个myint赋值
this.myint = 2;//这个是给成员变量myint赋值
}
public class Student{
String name;
public void study(){
System.out.println(name+”在学习”);
}
}
//当局部变量与成员属性的命名发生重名的时候,
//根据就近原则会默认调用同名的局部变量
public class BankCard{
String cardNo;
String cardPwd;
public BankCard(String cardNo,String cardPwd){
this.cardNo=cardNo;
this.cardPwd=cardPwd;
}
public BankCard(String cardNo){
this.cardNo=cardNo;
cardPwd=“888888”;
}
}//如果在类中有多个构造方法,那么可以通过this在某一个构造方法中调用另一个构造方法,
//但必须是在构造方法中的第一句,并且每个构造方法最多只调用一次,根据参数指定调用的构造方法
public class BankCard{
String cardNo,cardPwd;
public BankCard(String cardNo,String cardPwd){
this.cardNo=cardNo;
this.cardPwd=cardPwd;
}
public BankCard(String cardNo){
this(cardNo,”888888”);
}
}
一共有三种用法
有时非常重要