繁体   English   中英

什么时候必须在C#中使用隐式和显式运算符?

[英]When must we use implicit and explicit operators in C#?

这些运算符的用途是什么?

基本上,当您想提供类型之间的转换时。 LINQ to XML提供了很好的示例...从字符串到XName都有隐式转换,因此您可以编写:

XName name = "element";

但是从XAttributeint (以及许多其他类型)有显式转换,因此您必须在代码中包括XAttribute类型转换:

int value = (int) element.Attribute("age");

提供隐式转换之前,请仔细考虑-它们很少是一个好主意; LINQ to XML使用它们产生了很大的效果,但是它们可能会造成混淆。 即使是明确的用户定义的转换,也可能会使不熟悉的读者感到惊讶。

在执行操作符重载时使用它们。 这是MSDN文章的链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM