《程序设计Csharp程序设计 (80).pdf》由会员分享,可在线阅读,更多相关《程序设计Csharp程序设计 (80).pdf(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C#程序设计 Programming in C#this访问器访问器 1、this访问器 C#程序设计 7.3.5 this访问 3 this关键字是对当前对象的引用。this访问只能在实例构造函数、实例方法或属性和索引的实例访问器中使用,不能在任何静态函数成员的代码中使用。它通常用作以下两个目的:用于区分类的成员和方法的本地变量或参数;用作调用方法的实参。7.3.5 this访问 4 如下是this关键字的使用示例:classclass MyclassMyclass intint Var1Var1 =1010;publicpublic intint MaxMax(intint Var1Var
2、1)returnreturn Var1Var1 thisthis.Var1Var1?Var1?Var1 /参数参数 :thisthis.Var1Var1;/字段字段 classclass programprogram 7.3.5 this访问 5 staticstatic voidvoid MainMain()()Myclass mcMyclass mc =newnew MyclassMyclass();();ConsoleConsole.WriteLineWriteLine(Max:0,(Max:0,mcmc.MaxMax(2020););/输出Max:20Max:20 ConsoleCon
3、sole.WriteLineWriteLine(Max:0,(Max:0,mcmc.MaxMax(2 2););/输出Max:10Max:10 usingusing SystemSystem;classclass EmployeeEmployee private stringprivate string namename;private stringprivate string aliasalias;private decimalprivate decimal salarysalary =3000.003000.00m m;publicpublic EmployeeEmployee(strin
4、gstring name,name,stringstring aliasalias)thisthis.namename =namename;thisthis.aliasalias =aliasalias;public voidpublic void printEmployeeprintEmployee()()7.3.5 this访问 6 如下是this关键字的使用示例:ConsoleConsole.WriteLineWriteLine(Name:(Name:00 n nAlias:Alias:11,name,name,aliasalias););ConsoleConsole.WriteLine
5、WriteLine(Taxes:0:C(Taxes:0:C,TaxTax.CalcTaxCalcTax(thisthis););public decimalpublic decimal SalarySalary getget returnreturn salarysalary;classclass TaxTax public staticpublic static decimaldecimal CalcTaxCalcTax(Employee EEmployee E)returnreturn 0.080.08m m *E E.SalarySalary;7.3.5 this访问 7 classcl
6、ass MainClassMainClass static voidstatic void MainMain()()Employee E1Employee E1 =newnew EmployeeEmployee(Mingda Pan(Mingda Pan,mpan);mpan);E1E1.printEmployeeprintEmployee();();7.3.5 this访问 8 usingusing System;System;classclass EmployeeEmployee private stringprivate string name;name;private stringpr
7、ivate string alias;alias;private decimalprivate decimal salarysalary =3000.00m;3000.00m;publicpublic Employee(stringEmployee(string name,name,stringstring alias)alias)this.namethis.name =name;name;this.aliasthis.alias =alias;alias;public voidpublic void printEmployee()printEmployee()7.3.5 this访问 9 运行结果 Name:Mingda Pan Alias:mpan Taxes:¥240.00 结束结束