C#中 操作符的冲载有什么用呢
还有 关键字
implicit
和
explicit
又分别是什么意思啊
朋友门最好给我一个简单的粒子说下操作符重载的
还有 关键字
implicit
和
explicit
又分别是什么意思啊
朋友门最好给我一个简单的粒子说下操作符重载的
解决方案 »
- casio dt930 串口通信问题
- MDI窗体关闭问题
- 关于window.open()弹不出窗口问题~~ 谢谢
- 如何处理错误信息
- 找不到类型或命名空间名称“DataGridTextBoxColumnNew”(是否缺少using 指令或程序集引用?)
- .net可不可以开发这样的一个应用程序
- 读完一个文件后,如何让文件重新回到起点啊???
- 急,web服务。尽量详细点,我是初学者兼菜鸟。
- 如何在C#中得到一个oracle序列的值(千万不要告诉我,插入数据苦,再查出来),我要的是还没有插入数据就取出来的
- 大家分享一下c#学习中的大困惑吧!
- c# 可以获取鼠标在屏幕上的文本吗??就像金山取词,能识别当前鼠标所指的文本
- 请教datagridview添加不同的数据自动换行
explicit 显式转换
int a = 10;
long b = a; //隐式转换
int c = (int)b;//显式转换
public static ComplexNumber operator+(ComplexNumber a, ComplexNumber b) 所有运算符重载均为类的静态方法。此外还应注意,重载相等运算符 (==) 时,还必须重载不相等运算符 (!=)。< 和 > 运算符以及 <= 和 >= 运算符也必须成对重载。以下是可重载的运算符的完整列表:一元运算符:+、-、!、~、++、--、true、false二元运算符:+、-、*、/、%、&、|、^、<<、>>、==、!=、>、<、>=、<=下面的代码示例创建一个重载 + 和 - 运算符的 ComplexNumber 类:
public class ComplexNumber
{
private int real;
private int imaginary; public ComplexNumber() : this(0, 0) // constructor
{
} public ComplexNumber(int r, int i) // constructor
{
real = r;
imaginary = i;
} // Override ToString() to display a complex number in the traditional format:
public override string ToString()
{
return(System.String.Format("{0} + {1}i", real, imaginary));
} // Overloading '+' operator:
public static ComplexNumber operator+(ComplexNumber a, ComplexNumber b)
{
return new ComplexNumber(a.real + b.real, a.imaginary + b.imaginary);
} // Overloading '-' operator:
public static ComplexNumber operator-(ComplexNumber a, ComplexNumber b)
{
return new ComplexNumber(a.real - b.real, a.imaginary - b.imaginary);
}
} 使用这个类,您就可以用以下代码创建和操作两个复杂的数字:class TestComplexNumber
{
static void Main()
{
ComplexNumber a = new ComplexNumber(10, 12);
ComplexNumber b = new ComplexNumber(8, 9); System.Console.WriteLine("Complex Number a = {0}", a.ToString());
System.Console.WriteLine("Complex Number b = {0}", b.ToString()); ComplexNumber sum = a + b;
System.Console.WriteLine("Complex Number sum = {0}", sum.ToString()); ComplexNumber difference = a - b;
System.Console.WriteLine("Complex Number difference = {0}", difference.ToString());
}
} 如程序所示,您现在可以用非常直观的方式对属于 ComplexNumber 类的对象使用加减运算符。结果如下:Complex Number a = 10 + 12i Complex Number b = 8 + 9i Complex Number sum = 18 + 21i Complex Number difference = 2 + 3i