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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李拴同 中级黑马   /  2012-7-31 17:59  /  5298 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李拴同 于 2012-7-31 20:56 编辑

单引号'' 双引号""的区别是什么啊  我在运行以下程序时出问题  红色部分  括号里 只能是'' 单引号才可以 双引号出错
static void Main(string[] args)
        {
            string s = "ha,adf,df,sdf,adf,awe";
            string[] s1 = s.Split(',');//按照 ,  分割字符串  为什么必须要是单引号啊 双引号出问题
            foreach (string _chaiFen in s1) { Console.WriteLine(_chaiFen); }
            Console.ReadKey();
        }




在视频上看到的一种方法  string[]s1=s.split(new String[]{","},StringSplitOptions.RemoveEmptyEntries});
不知道理解的对不对啊

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
这里涉及到了char和string类型的区别,你在写split(的时候会有提示信息是char类型,char字符类型是用''的,字符串string类型是用""的
char属于基础类型(C++),在C#中它属于值类型(Value Type)。char类型的长度是固定的,上一篇讲到,在C++中它可能是1个字节,或者2个字节(取决于是否为Unicode Char),而在C#中,它永远是2个字节。
2. string是一个模板类型,也就是一个class(C++)。在C#中它属于引用类型(Reference Type)。string的长度是无法明确取得的。也就是无法通过sizeof来取得,因为它不是一个基础类型,它本身并不固定长度,而取决于内部包含的字符。

char类型:用单引号,例如:'韩'
string类型:用双引号,例如:"韩迎龙"

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
因为Split()里面传入参数没有对sting类型的数据重载,但是对char类型的参数重载了,而''表示的就是一个char类型的值,所以只能………………
个人浅见,希望能帮你理解!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
因为Split括号里面是一个char类型的字符串。在C#中字符串类型的有双引号,char类型的用单引号

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
谢谢大家 已经知道答案了 其实利用String类型 可以这样
string s="adf,dfdf,sdfa,adf,adf,";
string[] value=s.split(new String[]{",",StringSplitOptions.RemoveEmptyEntries});

不知道理解的对不对 但结果显示是正确的

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马