当前位置:首页 > Windows程序 > 正文

C#中this的用法,你用过几种?

2021-03-29 Windows程序

C#中this的用法,你用过几种?【含源码示例】

摘自:

C#中的this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,,欢迎大家拍砖,废话少说,直接列出用法及相关代码。

this用法1:限定被相似的名称隐藏的成员
  

/// <summary> 

/// /******************************************/ 

/// /*  this用法1:限定被相似的名称隐藏的成员 */ 

/// /******************************************/ 

/// </summary> 

/// <param></param> 

public Person(string Name, string Sex) 

  { 

this.Name = Name; 

this.Sex = Sex; 

  }

this用法2:将对象作为参数传递到其他方法

/// <summary> 

///Person 的摘要说明 

/// </summary> 

public class Person 

/// <summary> 

/// 姓名 

/// </summary> 

public string Name { set; get; } 

/// <summary> 

/// /*******************************************/ 

/// /* this用法2:将对象作为参数传递到其他方法 */ 

/// /*******************************************/ 

/// </summary> 

public void ShowName() 

Helper.PrintName(this); 

/// <summary> 

/// 辅助类 

/// </summary> 

public static class Helper 

/// <summary> 

/// 打印人名 

/// </summary> 

/// <param></param> 

public static void PrintName(Person person) 

HttpContext.Current.Response.Write("姓名:" + person.Name + "<br />"); 

}


 


 


this用法3:声明索引器

/// <summary> 

/// 其它属性 

/// </summary> 

public NameValueCollection Attr = new NameValueCollection(); 

/// <summary> 

/// /*************************/ 

/// /* this用法3:声明索引器 */ 

/// /*************************/ 

/// </summary> 

/// <param></param> 

/// <returns></returns> 

public string this[string key] 

set

Attr[key] = value; 

get

return Attr[key]; 

}


 

this用法4:扩展对象的方法
/// <summary> 

///Person 的摘要说明 

/// </summary> 

public class Person 

{   /// <summary>     

/// 性别     

/// </summary>     

public string Sex { set; get; } 

/// <summary> 

/// 辅助类 

/// </summary> 

public static class Helper 

/// <summary> 

/// /*****************************/ 

/// /* this用法4:扩展对象的方法 */ 

/// /*****************************/ 

/// </summary> 

/// <param></param> 

/// <returns></returns> 

public static string GetSex(this Person item) 

return item.Sex; 

}


调用:

Person person = new Person(); 

person.GetSex();

四种用法完整代码如下:


show sourceusing System; 

using System.Collections.Generic; 

using System.Web; 

using System.Collections; 

using System.Collections.Specialized; 

/// <summary> 

///Person 的摘要说明 

/// </summary> 

public class Person 

/// <summary> 

/// 姓名 

/// </summary> 

public string Name { set; get; } 

/// <summary> 

/// 性别 

/// </summary> 

public string Sex { set; get; } 

/// <summary> 

/// 其它属性 

/// </summary> 

public NameValueCollection Attr = new NameValueCollection(); 

public Person() 

/// <summary> 

/// /******************************************/ 

/// /*  this用法1:限定被相似的名称隐藏的成员 */ 

/// /******************************************/ 

/// </summary> 

/// <param></param> 

public Person(string Name, string Sex) 

this.Name = Name; 

this.Sex = Sex; 

/// <summary> 

/// /*******************************************/ 

/// /* this用法2:将对象作为参数传递到其他方法 */ 

/// /*******************************************/ 

/// </summary> 

public void ShowName() 

Helper.PrintName(this); 

/// <summary> 

/// /*************************/ 

/// /* this用法3:声明索引器 */ 

/// /*************************/ 

/// </summary> 

/// <param></param> 

/// <returns></returns> 

public string this[string key] 

set

Attr[key] = value; 

get

return Attr[key]; 

/// <summary> 

/// 辅助类 

/// </summary> 

public static class Helper 

/// <summary> 

/// /*****************************/ 

/// /* this用法4:扩展对象的方法 */ 

/// /*****************************/ 

/// </summary> 

/// <param></param> 

/// <returns></returns> 

public static string GetSex(this Person item) 

return item.Sex; 

/// <summary> 

/// 打印人名 

/// </summary> 

/// <param></param> 

public static void PrintName(Person person) 

HttpContext.Current.Response.Write("姓名:" + person.Name + "<br />"); 

}

调用示例:

show source//this用法1示例 

Person person = new Person("小她", "女"); 

//this用法2示例 

person.ShowName(); 

//this用法3示例 

person["Height"] = "175cm"; 

Response.Write("身高:" + person["Height"] + "<br />"); 

person["Weight"] = "110kg"; 

Response.Write("体重:" + person["Weight"] + "<br />"); 

//this用法4示例 

Response.Write("性别:" + person.GetSex() + "<br />");

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69533.html