在c#中如果我使用decimal
(小写'd'),IDE会以深蓝色显示(如int
)。如果我使用Decimal
(大写'd'),IDE会将其显示为蓝绿色(如类名)。在这两种情况下,工具提示都是struct System.Decimal
。
有什么区别吗?是一个“首选”?
答案 0 :(得分:19)
都能跟得上;相同。 decimal
已定义作为System.Decimal
的别名,并且通常是首选,但在公共方法名称中,您应使用正确的名称(ReadDecimal
等) ) - 因为您的呼叫者可能不是C#。这在int
vs ReadInt32
等
当然不是Java风格的拳击差异。
(当然,如果您执行类似声明更多命名空间本地Decimal
执行完全不同的操作,那么是之间的差异,但那将是愚蠢的。)< / p>
答案 1 :(得分:2)
同样的事情,Decimal是.Net类型,decimal是c#关键字。
答案 2 :(得分:2)
System.Decimal
它是.NET Framework类型,decimal
是C#语言中的别名。
它们都在IL中编译为System.Decimal
,所以没有区别。
int
和System.Int32
,string
和System.String
等完全相同。
答案 3 :(得分:1)
decimal是Decimal的别名。他们是一回事。
答案 4 :(得分:1)
深蓝色代表语言关键字,蓝绿色代表类型。在decimal
的情况下,它是表示类型别名的关键字。
答案 5 :(得分:1)
decimal
是一个关键字,始终引用基类库中定义的结构System.Decimal
。 Decimal
通常与大多数人在源代码之上using System;
的含义相同。但是,严格地说,那些不相同(你不能盲目地找到并替换它们):
namespace Test {
class Decimal { }
}
// File2.cs
using Test;
class DecimalIsNotdecimal {
void Method(decimal d) { ... }
void Method(Decimal d) { ... } // works!
}
答案 6 :(得分:0)
没有。它们只是捷径。
如果将鼠标悬停在小数上,您将看到System.Decimal。与int和System.Int32一样,object和System.Object,string和System.String,double和System.Double
我更喜欢小数和字符串,但我真的认为它是个人的
答案 7 :(得分:0)
答案 8 :(得分:0)
同样的事情。 'decimal'是System.Decimal的c#关键字。
这适用于其他类型,如字符串和字符串等。