本文概述
- 定论
- 笔记
String textA = "Hello";
string textB = "Hello";
你可能会问自己, 无论如何它们都有效, 但是它们之间有什么区别吗?技术上没有。
字符串是C#中System.String的别名。可以在int和System.Int32这样的情况下进行比较, 可以是整数, 也可以是bool和Boolean。它们都被编译为IL(中间语言)中的System.String。
string是保留字, String是类名。这意味着字符串本身不能用作变量名, 即:
StringBuilder String = new StringBuilder();
// Compile succesfully StringBuilder string = new StringBuilder();
// Doesn't compile
因此, 使用字符串很方便, 使用字符串的代码将永不中断, 但是使用字符串的代码将很少。 (你可以重新定义String, 但不能重新定义string)。
如果需要专门引用该类, 建议使用String即:
Decimal pricePerOunce = 17.36m;
String s = String.Format("The current price is {0:C2} per ounce.", pricePerOunce);
字符串只是C#内置的所有别名之一, 与Java不同。你可以在以下列表中查看所有别名:
object: System.Objectstring: System.Stringbool: System.Booleanbyte: System.Bytesbyte: System.SByteshort: System.Int16ushort: System.UInt16int: System.Int32uint: System.UInt32long: System.Int64ulong: System.UInt64float: System.Singledouble: System.Doubledecimal: System.Decimalchar: System.Char
【C#中的String和string关键字有什么区别】如前所述, 你可以使用别名, 而无需导入use System。
定论string是一个关键字, 你不能使用string作为标识符。
字符串不是关键字, 你可以将其用作标识符:
string String = "I am a string";
关键字字符串是System.String的别名, 除了关键字issue之外, 两者是完全等效的, 因此:
typeof(string) == typeof(String) == typeof(System.String)
笔记
- 你可以在不导入任何组件的情况下使用字符串, 这与String相反, 因为如果不使用System则不能使用String。预先。
- 你不能在反射中使用字符串;你必须使用String。
- 为避免混淆, 请始终使用其中之一。但是从最佳实践的角度来看, 当你进行变量声明时, 最好使用字符串, 并且在将其用作类名时使用String是首选。
推荐阅读
- 如何在Symfony 3中使用FFMpeg将webm视频转换为mp4
- 如何在Twig中将日期时间对象格式化为ISO 8601
- 如何使用Symfony 3中的免费GeoLite数据库从访问者的IP中检测城市,国家和地区
- 如何检查用户是否已经选中了Google Recaptcha复选框
- 感悟|Java后端学习体系(韩顺平)
- Aria2怎样下载百度云?Aria2下载百度云运用图文详细教程
- 360压缩如何加密?360压缩加密办法列表
- 雷电安卓模拟器程序多开图文程图文详细教程
- DiskGenius怎样用?DiskGenius运用图文详细教程