C#关键字this和base 區別
关于使用到了两个C#关键字this和base。
1,C# "this " keyword
其作用引用类的当前实例,其实看了下面这个例子就好理解了。
主要三个作用:当前实例、参数传递和索引器
1.1 当前实例
class Team
{
///成员变量
private string name;
///构造函数
public Team(string name)
{
this.name = name;
}
}
在这里因为是要将参数的name值传入Team类或者说对象的name成员变量中.
在这里通过使用this可以表明name的对象是当前的实例,也就是Team对象,而不是参数name.
1.2 参数传递
另外还有一个作用就是可以做为 '指针 '来使用,可以将当前对象元素按照引用参数方式传递。
例如:
class A
{
public string name = "liangzhen ";
public A(){
}
}
class B
{
private A a;
public void B(A a)
{
this.a = a;
}
public void Change()
{
this.a.name = "kathy ";
}
}
class Demo
{
static void Main()
{
A a = new A();
B b = b(a);
b.Change();
}
}
这里完成的是一个引用参数传递,在这里如果B对象中执行Change方法后,B和A所对于得实例中的name都将改变为 "kathy ".
3,索引器
最简单的知识,不多说了看一个例子
public object this [int param]
{
get { return array[param]; }
set { array[param] = value; }
}
2,C# "base " keyword
base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法。
例如,
关于base调用基类构造函数
public class A
{
public A()
{
Console.WriteLine( "Build A ");
}
}
public class B:A
{
public B():base()
{
Console.WriteLine( "Build B ");
}
}
如果创建一个B的实例对象,获得结果将是同时打印Build A和Build B.
关于base在派生类中调用基类的方法。
public class A&nbs
相关文档:
冒泡排序
using System;
class Program
{
public static void Main()
{
int[] a = new int[10];
Random rand = new Random();
for (int i = 0; i < 10; i++)
{
a[i] = rand.Next(10);//生成随机数给数组赋值
}
for (int i = 0; i < ......
上篇文章中说到什么是 Cache对象,如何在ASP.NET中使用 Cache对象。下面我们来说说如何在ASP.NET中删除项。
ASP.NET Cache 对象设计用于保证它并不使用过多的服务器内存。结果是,当用内存变得缺乏时,Cache对象自动删除最少被使用的项。你可以通过定义时间限制、依赖项、以及项
在Cache对象中的优先级来影响 Cache对象保 ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//sqlserver身份验证
//string sqlconn = "ser ......