`
jameszou
  • 浏览: 73119 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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();
}
}
}
分享到:
评论

相关推荐

    C#关键字this用法

    在本文中,我们将深入探讨`this`关键字的用法,通过示例程序来帮助理解其功能和应用场景。 首先,`this`关键字是一个隐式指针,它指向当前对象实例。当你在类的方法或属性中引用一个成员时,如果该成员与方法参数或...

    C#this指针用法

    在C#编程语言中,`this`关键字是一个非常重要的概念,它主要用于引用当前类的实例。在类的成员方法或属性中,`this`关键字可以用来访问类的其他成员,如字段、方法、属性等。此外,`this`还可以用于区分局部变量与类...

    C#中this用法系列(二) 通过this修饰符为原始类型扩展方法

    定义一个静态类,类中定义静态方法,方法中参数类型前边加上this修饰符,即可实现对参数类型的方法扩展 示例如 namespace Demo{ // 这里的类必须为静态类 public static class Json {  // 方法为静态方法  // ...

    C# base this 的用法

    C# 中的 base 和 this 关键字的用法 C# 中的 base 关键字用于从派生类中访问基类的成员。它可以调用基类上已被其他方法重写的方法,也可以指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例...

    C#中DataBindings用法实例分析

    下面我们将通过实例详细分析C#中DataBindings的用法。 首先,我们来看一个简单的例子,如何使用DataBindings将TextBox控件的Text属性与TrackBar控件的Value属性绑定: ```csharp textBox1.DataBindings.Add("Text...

    c#basethis用法.pdf

    DoPrint(Employee emp) { Console.WriteLine("Name: {0}, Age: {1}", emp.Name, emp.Age);...通过掌握 `base` 和 `this` 的用法,我们可以更好地利用继承机制,管理对象状态,并实现更灵活的代码结构。

    C#中this方法的一些问题

    ### C#中的`this`关键字详解 在C#编程语言中,`this`关键字具有非常重要的作用,它用于引用调用成员(如方法、属性等)的当前对象实例。通过理解`this`的关键用途和场景,可以更好地掌握面向对象编程的基本原则,并...

    C#基本控件用法(winform,原创)

    C#中的控件用法是非常重要的,尤其是在winform应用程序中。今天,我们将来学习一些基本的控件用法,包括Button、CheckBox、ComboBox、DataGridView、ListView、TreeView和MdiForm等。 Button控件 Button控件是...

    C#中MessageBox用法大全

    ### C#中MessageBox用法详解 #### 一、概述 `MessageBox`类在C#中是一种非常实用且简便的方式,用于向用户展示信息或者请求用户的输入。它属于System.Windows.Forms命名空间,通常用于桌面应用程序中。`MessageBox...

    C# this关键字的四种用法

    本文实例为大家分享了C# this关键字的四种用法,供大家参考,具体内容如下 用法一 this代表当前实例,用this.显式调用一个类的方法和成员 namespace Demo { public class Test { private string scope = 全局...

    C#THIS用法.pdf

    在C#编程语言中,`this`和`base`都是关键字,它们在面向对象编程中扮演着重要的角色。下面将详细解释这两个关键字的用途和应用场景。 1. `base`关键字: `base`关键字主要用于在派生类中访问基类的成员,包括方法...

    c#线程 lock用法

    在C#编程中,线程控制是多任务并行处理的关键。`lock`语句是C#中用于实现线程同步的重要工具,主要是为了解决多个线程并发访问共享资源时可能出现的竞争条件(race condition)问题。在描述的场景中,`lock`关键字被...

    C#WinForm ListView用法

    在Windows Forms开发中,ListView控件是一个非常常用且功能强大的组件,它允许用户以列表的形式展示数据,并提供了多种视图模式。本教程将详细介绍如何在C#环境下利用Visual Studio 2008来操作和定制ListView控件。 ...

    C#中DataGridView的简单用法

    在C#编程环境中,`DataGridView`控件是一个非常重要的组件,它用于显示表格数据,可以用来展示数据库、数组或其他数据源中的数据,并提供用户交互功能,如编辑、排序、筛选等。下面将详细介绍`DataGridView`的基本...

    C#中this指针的用法示例

    在C#编程语言中,`this`关键字是一个非常关键的特性,尤其对于理解和编写面向对象的代码至关重要。`this`关键字主要用来引用当前对象实例,它在...对于C#初学者来说,掌握`this`的用法是迈进面向对象编程的重要一步。

    CSharp_List.zip_C# list_C#中list_C#中list的用法_C#怎么引用List_c# list

    在C#编程中,`List<T>`是.NET框架中常用的一...以上就是C#中`List<T>`的一些主要用法,这些基本操作可以帮助开发者在处理动态数据集合时游刃有余。在实际项目中,根据需求选择合适的方法,能够提高代码的效率和可读性。

    C#中this的使用实例分析

    this关键字在C#程序设计中的应用非常频繁,今天本文就this关键字的用法做一番分析,希望能提对大家的C#程序设计有一定的帮助作用。具体分析如下: 1.代表当前类,在当前类中可使用this访问当前类成员变量和方法...

Global site tag (gtag.js) - Google Analytics