手机
当前位置:查字典教程网 >编程开发 >C#教程 >implicit关键字做自定义类型隐式转换的方法
implicit关键字做自定义类型隐式转换的方法
摘要:隐式转换可以通过消除不必要的类型转换来提高源代码的可读性。但是,因为隐式转换不需要程序员将一种类型显式强制转换为另一种类型,所以使用隐式转换...

隐式转换可以通过消除不必要的类型转换来提高源代码的可读性。但是,因为隐式转换不需要程序员将一种类型显式强制转换

为另一种类型,所以使用隐式转换时必须格外小心,以免出现意外结果。一般情况下,隐式转换运算符应当从不引发异常并且

从不丢失信息,以便可以在程序员不知晓的情况下安全使用它们。

在C#中,implicit关键字可以用来做自定义类型隐式转换。下面给个例子来说明。

定义一个Point类,表示一个点:

复制代码 代码如下:

public class Point

{

public double X { get; set; }

public double Y { get; set; }

}

再在Point类中定义一个静态方法,用于由字符串隐式转换为Point类型:

public class Point { public double X { get; set; } public double Y { get; set; } public static implicit operator Point(string constValue) { var result = new Point(); try { var arPoint = constValue.Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries); result.X = Convert.ToDouble(arPoint[0]); result.Y = Convert.ToDouble(arPoint[1]); } catch { result.X = 0; result.Y = 0; } return result; } }

使用的过程非常简单,就跟我们平时的隐式转换一样:

复制代码 代码如下:

Point p = "3,4.5";

Console.WriteLine("X:{0}, Y:{1}", p.X, p.Y);

注意,尽量隐式转换过程中不会出错,或者能处理异常情况。否则请使用explicit变为强制转换。

以上就是implicit关键字做自定义类型隐式转换的方法,希望对大家有所帮助。

【implicit关键字做自定义类型隐式转换的方法】相关文章:

C#中隐式运行CMD命令行窗口的方法

C#中时间的几种格式转换方法

C# 16进制与字符串、字节数组之间的转换

使用@符号让C#中的保留字做变量名的方法详解

C# 屏蔽关键字的实现方法

深入线程安全容器的实现方法

深入C#任务管理器中应用程序选项隐藏程序本身的方法详解

C# SkinEngine控件 给窗体添加皮肤的方法

将字符串转换成System.Drawing.Color类型的方法

c#中判断字符串是不是数字或字母的方法

精品推荐
分类导航