zoukankan      html  css  js  c++  java
  • c#中this的用法

    在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等; 
    也可以用this来做为参数状当前实例做为参数传入方法. 
    还可以通过this[]来声明索引器 

    下面是你这段程序的注解: 
    // 引入使命空间System 
    using System; 
    // 声明命名空间CallConstructor 
    namespace CallConstructor 

    // 声明类Car 
    public class Car 

    // 在Car类中: 
    // 声明一个非静态的整型变量petalCount,初始值为0 
    // 未用Static声明的变量叫做静态变量,非静态成员属于 
    类的实例,我们只能在调用类的构造函数对类进行实例化后才能通过所得的实例加"."来访问 
    int petalCount = 0; 
    // 声明一个非静态的字符串变量s,初始值为"null"; 
    // 注意:s = "null"与s = null是不同的 
    String s = "null"; 
    // Car类的默认构造函数 
    Car(int petals) 

    // Car类的默认构造函数中为 petalCount 赋值为传入的参数petals的值 
    petalCount = petals; 
    // 输出petalCount 
    Console.WriteLine("Constructor w/int arg only,petalCount = " + petalCount); 

    // 重载Car类的构造函数 
    // : this(petals) 表示从当前类中调用petals变量的值来作为构造函数重载方法Car(String s, int petals)的第二个参数
    Car(String s, int petals) 
    : this(petals) 

    // 在构造函数中为s赋值 
    // 非静态成员可以在构造函数或非静态方法中使用this.来调用或访问,也可以直接打变量的名字,因此这一句等效于s = s,但是这时你会发类的变量s与传入的参数s同名,这里会造成二定义,所以要加个this.表示等号左边的s是当前类自己的变量 
    this.s = s; 
    Console.WriteLine("String & int args"); 

    // 重载构造函数,: this("hi", 47) 表示调Car(String s, int petals) 这个重载的构造函数,并直接传入变量"hi"和47 
    Car() 
    : this("hi", 47) 

    Console.WriteLine("default constructor"); 

    public static void Main() 

    Car x = new Car(); 
    Console.Read(); 


    }

  • 相关阅读:
    如何从你的缓存分析全世界
    Java Collection Framework概述
    用Reveal分析第三方App的UI
    三种经典iPhone上网络抓包方法详解
    HTTPS时代全面到来,你准备好了吗?
    从“埋点技术已死?”开始说起
    访客至上的Web、移动可用性设计--指导原则
    动画原理——图形填充
    动画原理——曲线
    动画原理——绘画API
  • 原文地址:https://www.cnblogs.com/gc2013/p/3753508.html
Copyright © 2011-2022 走看看