zoukankan      html  css  js  c++  java
  • C# 程序员参考 this

    this 关键字将引用类的当前实例。静态成员函数没有 this 指针。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 用于限定 Employee 类成员 namealias,它们都被相似的名称隐藏。this 还用于将对象传递到属于其他类的方法 CalcTax

    // keywords_this.cs
    // this example
    using System;
    public class Employee 
    {
       public string name;
       public string alias;
       public 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 class Tax 
    {
       public static decimal CalcTax(Employee E) 
       {
          return (0.08m*(E.salary));
       }
    }
    
    public class MainClass 
    {
       public 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
  • 相关阅读:
    在.net中过滤敏感字符
    const和readonly的联系和区别
    新闻内容页分页的简单做法
    jmail邮件发送问题
    nvarchar与varchar的区别
    C#中"is" vs "as"
    在C#中,string 类型可与SQL SERVER中的int 类型作比较
    做网站常用代码集锦 (转)
    做网站常用代码集锦 (转)
    ADO 数据类型转换表 oledbtype sqldbtype (二)
  • 原文地址:https://www.cnblogs.com/chinatefl/p/132365.html
Copyright © 2011-2022 走看看