String、string和StringBuilder的区别

本文详细阐述了C#中的string类与.NET Framework中的String类之间的区别,解释了在实际开发中如何选择使用string或String以优化代码性能,并提供了关键信息的总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色) 
c# string映射为.net 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可以

String和Stringbuilder的主要区别在于内容变更时的处理,如string str = "12345";那么str就在内存中占用一块能放下这个字符串的位置,当你在扩展为str += "6";也就是变成"123456"的时候,string会重新向系统申请一块能放下“123456"的内存空间,这就使得string的字符串操作会频繁的申请内存。 而StringBuilder则不会这样,他会自动的向后扩展,不需要频繁的申请内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值