A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王震 中级黑马   /  2013-7-10 08:18  /  1738 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

string s = "abCD";
s = s.ToLower();
Console.WriteLine(s);
ToLower()明明是类String的一种方法
调用ToLower()的时候应该是String的实例.ToLower()
某非string声明的变量就是String的实例。
那为什么不是String s=new String()这样声明呢?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1 淡定

查看全部评分

4 个回复

倒序浏览
这个我也不是很明白 只知道   虽然string 与int 啊这样的混在一块 ,但是它却是引用 类型
C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串
C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型
静候更好的答案!!

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
C#将String视为一种基元类型,编译器会将字符串放在元数据中。你可以看下IL,它是由的ldstr而非newobj

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
董志伟 来自手机 中级黑马 2013-7-10 23:01:12
板凳
这个视频里视频里讲过,数据类型中,string是个异类
回复 使用道具 举报
string是静态类无法创建对像,对象中元素调用必须用类名+点的形似
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马