个人还不怎么很清楚在C#中This的使用方法,哥哥些,帮解释下
解决方案 »
- 客户端程序无法运行问题
- 请教一个问题,网站每天都有大量的新闻静态页生成,我计划在每天凌晨3点程序自动执行,怎么实现好
- 请问VC#2005中有没有比较好用的表格控件?没有关联数据库,只是简单显示一些很少的数据
- 在线等!~在线给分了。
- 如何给VC#做出来的可执行文件(.exe的)换图标
- 如何精确计算上传文件大小!
- 如何只传递一个本地的一个文件名,就能上传文件呢?
- 怎么在WebForm中做留言板,没有数据库支持的
- 大年初一发个求助帖,C# WPF的问题
- C#中RSA 对数组解密的一点点问题
- 急! C#如何将二进制数据转成图片
- 能不能在机子上安两个SQL,一个2000一个2005,程序里怎么控制连的哪一个啊?~
C#中一切都是对象,那么这个this就是指当前对象(当前对象,在谁内部?就是谁的引用)的引用
this(C# 参考)this 关键字引用类的当前实例。 以下是 this 的常用用途:限定被相似的名称隐藏的成员,例如: 复制代码
public Employee(string name, string alias)
{
this.name = name;
this.alias = alias;
}
将对象作为参数传递到其他方法,例如: 复制代码
CalcTax(this);
声明索引器,例如: 复制代码
public int this [int param]
{
get { return array[param]; }
set { array[param] = value; }
}
由于静态成员函数存在于类一级,并且不是对象的一部分,因此没有 this 指针。在静态方法中引用 this 是错误的。 示例
在本例中,this 用于限定 Employee 类成员 name 和 alias,它们都被相似的名称隐藏。this 还用于将对象传递到属于其他类的方法 CalcTax。 复制代码
// keywords_this.cs
// this example
using System;
class Employee
{
private string name;
private string alias;
private decimal salary = 3000.00m; // Constructor:
public Employee(string name, string alias)
{
// Use this to qualify the fields, name and alias:
this.name = name;
this.alias = alias;
} // Printing method:
public void printEmployee()
{
Console.WriteLine("Name: {0}\nAlias: {1}", name, alias);
// Passing the object to the CalcTax method by using this:
Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this));
} public decimal Salary
{
get { return salary; }
}
}
class Tax
{
public static decimal CalcTax(Employee E)
{
return 0.08m * E.Salary;
}
}class MainClass
{
static void Main()
{
// Create objects:
Employee E1 = new Employee("John M. Trainer", "jtrainer"); // Display results:
E1.printEmployee();
}
}
输出
Name: John M. Trainer
Alias: jtrainer
Taxes: $240.00
有关其他示例,请参见 class 和 struct。 C# 语言规范
有关更多信息,请参见 C# 语言规范中的以下各章节:7.5.7 this 访问10.2.6.4 this 访问