string隐式转换问题

luoxiaobei_ 2017-12-12 06:22:08
请教下,编译就报 string隐式转换 错误!今天刚给我的代码,说是别人都可以正常运行。我就懵逼了,求大神们指导!


var list = new List<Wavecanal>();
for (int index = 0; index < 99; index++)
{
var wavecanal = DataPortal.Create<Wavecanal>();
try { wavecanal.No = Convert.ToInt32(worksheet.Cell("A" + (index + 2)).Value); }
catch { wavecanal.No =index+1; }
try { wavecanal.Frequency = Convert.ToDecimal(worksheet.Cell("B" + (index + 2)).Value); }
catch { wavecanal.Frequency = ""; }
try { wavecanal.Period = (FrequencyPeriod)Convert.ToInt32(worksheet.Cell("C" + (index + 2)).Value); }
catch { wavecanal.Period = ""; }
try { wavecanal.WorkMode = (WorkMode)Convert.ToInt32(worksheet.Cell("D" + (index + 2)).Value); }
catch { wavecanal.WorkMode = ""; }
try { wavecanal.OffsetCarrier = (OffsetCarrier)Convert.ToInt32(worksheet.Cell("E" + (index + 2)).Value); }
catch { wavecanal.OffsetCarrier = ""; }
try { wavecanal.Limitation = (eSquelchThreshold?)Convert.ToInt32(worksheet.Cell("F" + (index + 2)).Value); }
catch { wavecanal.Limitation = ""; }
try { wavecanal.Silencing = Convert.ToInt32(worksheet.Cell("G" + (index + 2)).Value) == 1; }
catch { wavecanal.Silencing = ""; }
try { wavecanal.Power = (LaunchingPower)Convert.ToInt32(worksheet.Cell("H" + (index + 2)).Value); }
catch { wavecanal.Power = ""; }
list.Add(wavecanal);
}
...全文
274 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2017-12-13
  • 打赏
  • 举报
回复
不能 = "" 得 = 0
正怒月神 2017-12-13
  • 打赏
  • 举报
回复
直接看对象属性的类型就好了。
大鱼> 2017-12-13
  • 打赏
  • 举报
回复
简单的说类型不匹配无法直接进行赋值。不过各位大佬说的很对,你这代码看着真辣眼睛。
  • 打赏
  • 举报
回复
这么牛的代码
  • 打赏
  • 举报
回复
这代码怎么看try里赋值的类型和catch赋值的类型不一致……
小猫阿尤 2017-12-13
  • 打赏
  • 举报
回复
从你代码中可以看出 wavecanal类的好多属性都是数字型的 你catch的时候给他赋值""是字符型的 所以错误 catch中不应该给他赋值字符型的 必须是数字型的
exception92 2017-12-13
  • 打赏
  • 举报
回复
给你说没问题的都是骗你的。 从问题看出你根本不了解.net 中的常用类型,更不要说类型之间的转换了,你确实见得太少了。 把基础补补再看代码,拿出你的测试结果去找那个同事理论,不然不知道以后会有多少个坑等你去跳。
luoxiaobei_ 2017-12-12
  • 打赏
  • 举报
回复
引用 2 楼 daixf_csdn 的回复:
你把空字符串赋给 数值类型decimal 当然出错了,类型不符。其他的错误也同样。应该养成用null的习惯,不要动不动用空字符串。
先谢谢你的回复。我就是觉得不对啊,但是代码是公司同事给的,很直接的告诉我说其他地方的人用都没问题,所以我说我很懵逼啊,我以为是我自己见得太少,搞得我都不自信了。。
圣殿骑士18 2017-12-12
  • 打赏
  • 举报
回复
你把空字符串赋给 数值类型decimal 当然出错了,类型不符。其他的错误也同样。应该养成用null的习惯,不要动不动用空字符串。
圣殿骑士18 2017-12-12
  • 打赏
  • 举报
回复
什么乱七八糟的。先把try catch的用法先学会。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧