string 和String的区别

本文详细介绍了C#中的string类型与.NET Framework中的String类之间的区别,包括它们的使用场景、特性及如何进行字符串比较等内容。
MSDN中对的说明:


string 类型表示 Unicode 字符的字符串。string 是 .NET Framework 中的 String 的别名(string is an alias for String in the .NET Framework。)。字符串是不可变的 - 字符串对象一旦创建,其内容就不能更改。

尽管 string 是引用类型,但定义相等运算符(== 和 !=)是为了比较 string 对象(而不是引用)的值。这使得对字符串相等性的测试更为直观。也就是说在string中==和!=进行了重载,使用==和!=比较的不是引用而是他们的值。

string是c#中的类,String是Framework的类,C# string 映射为 Framework的 String。如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。
如果使用C#,建议使用string,比较符合规范 。 string 始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表 System.String。

string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以。
文章出处:http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/200853/112417.html
Stringstring区别主要有以下几点: 1. 位置:String.NET Framework中的String类,而小写的string是C#语言中的关键字。 2. 使用规范:在C#编写代码时,建议使用小写的string,因为它更符合规范。如果在追求效率的情况下,可以使用大写的String,因为最终通过编译后,小写的string会变成大写的String,这样可以减少编译负荷,提高运行效率。 3. 表示方式:string类型表示Unicode字符的字符串,而String.NET Framework中的String类的别名。使用string更直观地表示字符串的相等性。 4. 可变性:在Java中,String类表示的字符串一旦声明就不可改变,而字符串对象可以改变,但是改变的是其内存地址的指向。因此,String类不适合频繁修改字符串的操作。而在C#中,string类型是不可变的,每次对字符串进行修改都会创建一个新的字符串对象。 综上所述,Stringstring区别主要在于位置、使用规范、表示方式可变性。 #### 引用[.reference_title] - *1* *2* [Stringstring区别](https://blog.csdn.net/cc1949/article/details/51255075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [StringStringBuffer的具体区别?](https://blog.csdn.net/weixin_35940165/article/details/114616716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值