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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘赛 中级黑马   /  2013-5-1 22:56  /  1902 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘赛 于 2013-5-3 13:05 编辑

char c1=null;//这样会报错
char c2='';//这样也报错
那怎么才能让一个字符数据为空呢?其实这是再做一道转换问题时碰到的一个问题 将二零一二年十二月十二日转换为2012-12-12
由于一和十不能同时转换所以我想在转换时让十直接为空 但当将string数据转换成字符数组后 发现字符无法为空着实郁闷。

9 个回复

倒序浏览
char? c=null  搞定
回复 使用道具 举报
char a='\0';
回复 使用道具 举报
char a='\0';------网速卡点多了几下,然后就。。。
回复 使用道具 举报
用可空类型,char是值类型, 可以通过这种方法将它转换为可空类型:char? c=null;就ok了!
回复 使用道具 举报
lz 这个在C#里面可空类型课程里面有讲
就是在类型名字后面加个?  比如最常用的如 bool  bol=ture; 他只有2个值   false和ture
但是很多地方需要他为可为空那样可以进行更好的判断,所以可以写成 bool? bol=ture  他就有3个值  false和ture
还有Null   在类型后面加?
回复 使用道具 举报
char是值类型不允许为空,如果要让它变为一个可空字符,可以这样声明:char? c1=null;
null表示没有指向任何对象。。。。。。
如果简单的想让字符为空字符串 可以让  char c2='\0';
回复 使用道具 举报
本帖最后由 张伟86 于 2013-5-2 10:08 编辑

前面说的很正确,如果要令char字符为空,则:
1)char? c1 = null;
2) char c2 = '\0';
第一种是c#规定的一种形式,可空类型;
第二种'\0'表示字符串结尾符,每个字符串在结束时都会自动加上这个字符串结尾符,这样就可以判断一个字符串是否读取完毕。这个结尾符的值存在于ASCII码中,ASCII码的第一个字符就是它,值为nul,也就表示了空。如果要令字符为空,可以使用。
不过,不太建议将字符设置为空,可以初始化为某个特定的值。比如,如果你在后面操作数据库的时候,你要判断数据库里面的数据值的时候,会发现一大堆的null错误提示。
回复 使用道具 举报
null属于引用类型的值,表示不引用任何对象的空引用,null 是引用类型变量的默认值,而char类型属于值类型;
char类型变量的默认值为'\0',也就是让一个字符数据为空。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马