当我使用 resharper 工具时,它只是说“使用内置类型“string”而不是使用“String”。同样,它将 UInt32 转换为 uint。
我用谷歌搜索了一下,我能找到的只是它们是别名。别名意思是“重复”。好的。 但是,他们到底是什么意思呢?
- 当两者相同时,为什么该工具建议对“String”和“UInt32”使用“string”和“uint”?
- 另外,dot-net 类型和 C# 类型之间有什么区别。
用谷歌搜索但找不到任何令人满意的答案。 谢谢。
最佳答案
Rafal 给出的答案总结了这一点,但我想做一些澄清:唯一需要使用关键字而不是类型名称的情况是定义枚举的基础类型时——在那种情况下, 不允许使用后者。
例子:
enum Foo : Int32
{
}
以上不会编译。
此外,虽然我通常更喜欢使用关键字,但必须指出的是,虽然在 .NET Framework 上运行的每种语言的类型都相同,但关键字是不同的。例如,虽然在 C# 中 long
是 Int64
的别名,但在 C++/CLI 中,long
实际上是 Int32
。例如,在 CLI 语言之间移植代码时,这可能会造成一些困惑。
关于c# - 别名和点网类型和 c# 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190978/