什么时候我们必须在C#中使用隐式和显式运算符?
这些运算符的用途是什么?执行此操作时使用它们。这里有一个指向。的链接,基本上是在您希望提供类型之间的转换时。LINQtoXML提供了很好的示例。。。有一个从字符串到XName的隐式转换,因此您可以编写:什么时候我们必须在C#中使用隐式和显式运算符?,c#,operators,implicit,explicit,C#,Operators,Implicit,Explicit,这些运算符的用途是什么?执行此操作时使用它们。这里有一个指向。的链接,基本上是在您希望提供类型之间的转换时。LINQtoXML提供了很好的示例。。。有一个从字符串到XName的隐式转换,因此您可以编写: XName name = "element"; 但是有一个从XAttribute到int(以及许多其他类型)的显式转换,因此您必须在代码中包含强制转换: int value = (int) element.Attribute("age"); 在提供隐式转换之前要仔细考虑——它们很少是一个好主
XName name = "element";
但是有一个从XAttribute
到int
(以及许多其他类型)的显式转换,因此您必须在代码中包含强制转换:
int value = (int) element.Attribute("age");
在提供隐式转换之前要仔细考虑——它们很少是一个好主意;LINQtoXML非常有效地使用了它们,但它们可能会令人困惑。即使是明确的用户定义转换也会让粗心的读者感到惊讶。几乎大多数时候,我都避免将它们用作库设计师(除非我确信它们不会被误用和投诉)。