谁能跟偶通俗,仔细,全面的讲下重载啊?务必给出例子。
重载的作用就是比方说: 让+,可以运算INT,连接STRING?。使用operator有必要吗。+不是自动就重载了吗
(学习C#才一周,别笑哦,不过我看书的确超快,呵呵)
重载的作用就是比方说: 让+,可以运算INT,连接STRING?。使用operator有必要吗。+不是自动就重载了吗
(学习C#才一周,别笑哦,不过我看书的确超快,呵呵)
解决方案 »
- 求解决方法:用fileupload 和image空间显示图片,在IE6中可以在360等其浏览器不行?
- C#编写用户控件,在winXP,vista,win7 里Form() 与 Form_Load()哪个先执行?
- 调用其他应用程序按钮事件
- Winform连接远程SQL怎样保证数据安全?
- C#中 怎样把 word中的内容(包括图片)拷到 web编辑器中
- 用C#编写的第一个小程序..毛病多多..
- 公司诚购买PDA源码,价格可以商量
- 问个奇怪的问题
- 请教:怎么用C#创建一个FTP站点
- 求助中~~~~~~~~应用程序开发中的简单问题
- 请教有关.net remoting方面的问题
- 一个关于process类的问题
///传入两个数字返回两数之和
/// </summary>
public int Count(int a, int b)
{
return a + b;
}
/// <summary>
/// 传入数字和字符串返回字符串
/// </summary>
public stirng Count(int a, string b)
{
return a + b;
}
///传入两个数字返回两数之和
/// </summary>
public int Count(int a, int b)
{
return a + b;
}
/// <summary>
/// 传入两个字符串返回两字符串之和
/// </summary>
public stirng Count(stirng a, string b)
{
return a + b;
}
只不过是微软帮你实现了,难怪你觉得我一个String + 一个String
好爽啊,为什么那伙笨蛋要去用operator重载
其实是微软对String已经实现了+ 的运算符重载比如时间类型(DateTime)的可以直接比大小,相加 ,相减
其实它本身是不可以这样做
但微软对"<", ">" , "+", "-" 这些运算符重载过
所以你可以直接用他们当你有自己特定的需求时,微软没有现成实现的时候
你就得用它写你自己的重载比如你想要一建的一个类中的对象可以直接相加(+),减(-)等等
实现某种你要的效果,
比如说相加(+),则这两个对象的实例变量则全部相加,这个时候你要说
我两个对象相加(+),则他们的实例变量则全部相减都可以
只要你觉得爽 ,呵呵现在明白了它的必要性吗?
class P
{
private int num;
}现在有代码
P pc = new P();
pc=pc+100; //本意是想让P中的num成员加100, 但没有进行+重载,这样就会出问题就算编译器会构造默认的+重载, 可能还是不能跟整型相加,通过自己重载操作,可实现与其它类型+操作
如类改为:
class P
{
private int num;
public P operator +(int n)
{
this.num+=n;
return this;
} public P operator +(string s)
{
int n=convert.toint(s);
this.num+=n;
return this;
}
}这样就可以实现类P与int相加了