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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐刚 中级黑马   /  2012-4-1 22:12  /  2089 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐刚 于 2012-4-2 09:55 编辑

今天看了WinForm的视频,讲到做四则运算器的时候,从ComboBox中选择运算符,就对应不同的运算,用switch-case语句,老师在视频中switch中的表达式用的是SelectedIndex,case中对应的运算符的序号依次就为0,1,2,3,我自己写的时候就想用SelectedItem,然后case中对应的不应该就是写在Items中的四个运算符了么,直观点,可是编译报错了,说SelectedItem的地方应输入整型值,case那几个应输入常量值,记得没错的话,case中那几项只要和switch中的表达式的类型一样就可以啊,这怎么要整型值呢?

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

2 个回复

倒序浏览
在ComboBox中SelectItem得到的结果是一个字符串,string类型的值(这个值为所选择的项的Text),而加减乘除运算符不是string类型,它是运算符,当然要报错。
还有就是楼主觉得用SelectItem觉得比较直观,关于这个说法我想说的是,编程不是文字学科,不能用一般处理文字学科的常规思维去处理。
实际上每个程序员他肯定会说用SelectedIndex简单明了,而不会说是SelectItem,希望楼主通过学习取得较大的进步;

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报

RE: ComboBox选择的问题

蔡纯富 发表于 2012-4-1 22:47
在ComboBox中SelectItem得到的结果是一个字符串,string类型的值(这个值为所选择的项的Text),而加减乘除 ...

不好意思,看到后面的一个视频时,找到答案了,SelectItem返回的结果是一个object类型,至于你说的加减乘除运算符不是string类型,这不对吧,输入的运算符当然是string类型了,只是我要把SelectItem转成string类型的就可以了,switch(cb运算符.SelectedItem.ToString())这样,case中就可以写四个运算符了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马