C#.Net 不区分大小写的字符串

标签 c# .net

为什么C#.Net允许字符串对象的声明不区分大小写?

String sHello = "Hello";
string sHello = "Hello";

单词 String 的小写和大写 S 都是可以接受的,这似乎是唯一允许这样做的对象。

谁能解释一下为什么?

最佳答案

string 是语言关键字,而 System.String 是它的别名类型。

两者都编译成完全相同的东西,类似地:

  • intSystem.Int32
  • longSystem.Int64
  • floatSystem.Single
  • doubleSystem.Double
  • charSystem.Char
  • byteSystem.Byte
  • shortSystem.Int16
  • ushortSystem.UInt16
  • uintSystem.UInt32
  • ulongSystem.UInt64

我认为在大多数情况下这是关于代码的易读性——所有基本的系统值类型都有别名,我认为小写的 string 可能只是为了保持一致性。

关于C#.Net 不区分大小写的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9734/

相关文章:

c# - C#中两个对象的区别

c# - 导航后无法调用在注入(inject) Web 浏览器文档的代码中创建的 JavaScript 对象的方法

c# - 我应该使用 Visual Studio 中的哪种类型的项目来创建 "hidden"实用程序?

c# - 如何轻松隐藏 UWP MediaPlayerElement 中除少数几个之外的所有传输控件?

c# - 为什么 Nullable<int> 不能编译而是 int?没有 'using System;'

javascript - javascript 中未附加的匿名函数和双重命名方法?

c# - Mahapps中如何获取ShowInputAsync Dialog的结果

c# - 从代码设置应用程序资源

c# - 安全地比较本地和通用日期时间

.Net Core 中的 MySql.Data.MySqlClient.MySqlException : 'Unable to connect to any of the specified MySQL hosts.