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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王海舟 中级黑马   /  2012-9-16 10:35  /  2790 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在写聊天室程序的时候遇到一个问题:

-判断ListBox控件列表中是否有被选中的项
if (string.IsNullOrEmpty(lbClientOnLine.Text))
{
       MessageBox.Show("请选择一个在线客户端");
       return;
}
使用这种方法,程序运行正常。

-判断ListBox控件列表中是否有被选中的项
if (string.IsNullOrEmpty(lbClientOnLine.SelectedItem.ToString()))
{
       MessageBox.Show("请选择一个在线客户端");
       return;
}
使用这种方法,程序运行错误。

那么Text属性和SelectedItem属性到底有些什么区别呢?为什么程序会出错呢?

评分

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

查看全部评分

5 个回复

倒序浏览
李后量 发表于 2012-9-16 12:23
先运行下这段代码你会发现当object类型的变量不为null的时候,用ToString方法转成string类型不会有任何问题 ...

先感谢你的回答,我把这几种转换方式在代码中都试了一遍:

假定data 就是我们要被转换的数据
1、data.ToString()
2、Convert.ToString(data)
3、(string)data
4、string str = data as string

如果data=null,结果是:
1、data.ToString()   报异常
2、Convert.ToString(data)  返回null
3、(string)data   返回空
4、string str = data as string  返回空





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