簡體   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