[英]In c# are Decimal and decimal different?
在c#中如果我使用decimal
(小寫'd'),IDE會以深藍色顯示(如int
)。 如果我使用Decimal
(大寫'd'),則IDE將其顯示為teal(類似於類名)。 在這兩種情況下,工具提示都是struct System.Decimal
。
有什么區別嗎? 是一個“首選”?
不; 相同。 decimal
被定義為System.Decimal
的別名,並且通常是首選,除了在公共方法名稱中,您應該使用正確的名稱( ReadDecimal
等) - 因為您的調用者可能不是C#。 這在int
與ReadInt32
等中更為明顯。
肯定沒有Java風格的拳擊差異。
(當然,如果你做一些像聲明一個更完全不同的更多命名空間局部Decimal
東西,那么就會有差異,但那會很愚蠢)。
同樣的事情,Decimal是.Net類型,decimal是c#關鍵字。
System.Decimal
它是.NET Framework類型, decimal
是C#語言中的別名 。
它們都在IL中編譯為System.Decimal
,因此沒有區別。
關於int
和System.Int32
, string
和System.String
等完全相同。
decimal是Decimal的別名。 他們是一樣的東西。
深藍色用於語言關鍵字,藍綠色用於類型。 在decimal
的情況下,它是表示類型別名的關鍵字。
decimal
是一個關鍵字,始終引用基類庫中定義的struct System.Decimal
。 Decimal
通常意味着與大多數人using System;
相同的東西using System;
在他們的源代碼之上。 但是,嚴格地說,那些不相同(你不能盲目地找到並替換它們):
namespace Test {
class Decimal { }
}
// File2.cs
using Test;
class DecimalIsNotdecimal {
void Method(decimal d) { ... }
void Method(Decimal d) { ... } // works!
}
不,它們只是捷徑。
如果將鼠標懸停在小數上,您將看到System.Decimal。 與int和System.Int32,object和System.Object,string和System.String,double和System.Double一樣
我更喜歡小數和字符串,但我真的認為它是個人的
不,他們是一回事。 一個被着色為關鍵字(十進制),另一個被着色為類型(十進制)。 關鍵字只是該類型的別名。
這是同一件事。 'deciaml'是System.Decimal的c#關鍵字。
這適用於其他類型,如字符串和字符串等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.