c# - 别名和点网类型和 c# 类型

标签 c# .net visual-studio-2010 .net-4.0 resharper

当我使用 resharper 工具时,它只是说“使用内置类型“string”而不是使用“String”。同样,它将 UInt32 转换为 uint。

我用谷歌搜索了一下,我能找到的只是它们是别名。别名意思是“重复”。好的。 但是,他们到底是什么意思呢?

  1. 当两者相同时,为什么该工具建议对“String”和“UInt32”使用“string”和“uint”?
  2. 另外,dot-net 类型和 C# 类型之间有什么区别。

用谷歌搜索但找不到任何令人满意的答案。 谢谢。

最佳答案

Rafal 给出的答案总结了这一点,但我想做一些澄清:唯一需要使用关键字而不是类型名称的情况是定义枚举的基础类型时——在那种情况下, 不允许使用后者。

例子:

enum Foo : Int32
{
}

以上不会编译。

此外,虽然我通常更喜欢使用关键字,但必须指出的是,虽然在 .NET Framework 上运行的每种语言的类型都相同,但关键字是不同的。例如,虽然在 C# 中 longInt64 的别名,但在 C++/CLI 中,long 实际上是 Int32。例如,在 CLI 语言之间移植代码时,这可能会造成一些困惑。

关于c# - 别名和点网类型和 c# 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190978/

相关文章:

c# - 如何等待自定义数据流 block 完成?

c# - Mvc6 路由(RoutePrefix 和 AreaPrefix)

c# - 从 .NET 动态解析 C stdlib 函数

c# - 在 .Net 中使用 IE 设置中的代理自动配置

c# - 编写 Visual Studio 2010 插件,想在代码编辑器中显示一个像 Resharper 这样的工具箱

c# - 为什么不能在 LINQ 查询中选择先出现?

c# - 自定义视觉 : Operation returned an invalid status code: 'NotFound'

c# - 当托管在 VSTO/Outlook 加载项中的 ElementHost 中时,WPF 文本框不允许撤消

c# - 堆栈溢出异常——为什么?

vb.net - 安装设置问题(访问自定义对话框中的复选框)