C#中重载转换运算符语法中一个单词的意思 我想知道以下代码public static implicit operator ConvClass2(ConvClass1 op1)中的关键字implicit在C#中的释意是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://msdn.microsoft.com/zh-cn/library/z5z9kes2(VS.80).aspx 隐式转换的意思, ConvClass2 n;ConvClass1 m;n = m;这里就用到了你的重载方法了还有一个explilcit与之相对,是显式转换的意思。如果是explilcit,那么就要n = (ConvClass2)m; implicit 关键字用于声明隐式的用户定义类型转换运算符。如果转换过程可以确保不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。class Digit { public Digit(double d) { val = d; } public double val; // ...other members // User-defined conversion from Digit to double public static implicit operator double(Digit d) { return d.val; } // User-defined conversion from double to Digit public static implicit operator Digit(double d) { return new Digit(d); } } class Program { static void Main(string[] args) { Digit dig = new Digit(7); //This call invokes the implicit "double" operator double num = dig; //This call invokes the implicit "Digit" operator Digit dig2 = 12; Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val); Console.ReadLine(); } } VS2008的C#中的get set 作何用? 仍然是线程的几个细节问题 ajax 部分更新过程 DataBinder.Eval的用法?? zedgraph控件滚动条自动滚动 问个简单问题!!!急 小弟才学,水平洼..请教个巨菜的问题. 关于数据绑定的问题 在VC#中如何实现语音的采集(从麦克风)和在网络中实时传输最好给代码,分不够可以再加,先奉上100分 设备运行时间 vs2005怪异问题 如何模拟鼠标点击C#自身窗体的指定位置并且窗体不获得焦点?
ConvClass2 n;
ConvClass1 m;
n = m;
这里就用到了你的重载方法了还有一个explilcit与之相对,是显式转换的意思。
如果是explilcit,那么就要n = (ConvClass2)m;
{
public Digit(double d) { val = d; }
public double val;
// ...other members // User-defined conversion from Digit to double
public static implicit operator double(Digit d)
{
return d.val;
}
// User-defined conversion from double to Digit
public static implicit operator Digit(double d)
{
return new Digit(d);
}
}
class Program
{
static void Main(string[] args)
{
Digit dig = new Digit(7);
//This call invokes the implicit "double" operator
double num = dig;
//This call invokes the implicit "Digit" operator
Digit dig2 = 12;
Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);
Console.ReadLine();
}
}