我开始编写代码并学习VB.NET。到目前为止,它一帆风顺。
直到我尝试运行程序。
我所做的是用我熟悉和理解的语言写了一个刽子手游戏。在C#中,代码完美无缺。一旦我完成了这个完成点,我可以说没有其他任何我想改变的地方,我开始将它手工转换为VB.NET。
到目前为止,没问题。但我刚刚完成转换,现在我遇到了障碍。在窗口的底部是一个状态栏,告诉你你在哪个拼图集以及你正在使用哪个拼图。选择拼图时,这行代码会引发错误:
stsPuzzles.Text = "Puzzle: " + regionPuzzles + "/" + maxPuzzles
错误是:
Conversion from string "Puzzle" to type 'Double' is not valid.
当然,简单的答案就是把这个机制拿出来,但至少为了测试目的,我喜欢它在那里,所以我可以确保正确的谜题是正确的。
有没有办法可以解决这个问题,所以我的两个整数变量可以在字符串中?或者是否有一个解决方法,我至少可以使用足够长的时间来测试其余的测试过程?
我希望找到一种方法来解决这个问题,因为还有其他地方,例如显示统计数据,需要能够做到这一点。
答案 0 :(得分:7)
现有代码的直接修复是这样的:
stsPuzzles.Text = "Puzzle: " + CStr(regionPuzzles) + "/" + CStr(maxPuzzles)
或者这个:
stsPuzzles.Text = "Puzzle: " & regionPuzzles & "/" & maxPuzzles
在VB.Net中,&
而不是+
是连接运算符。 +
通常仍会有效,但当操作数为数字时,它也会倾向于认为您需要算术。
但在这种情况下我真正要做的是:
stsPuzzles.Text = String.Format("Puzzle: {0}/{1}", regionPuzzles, maxPuzzles)
或使用Visual Studio 2015或更高版本:
stsPuzzles.Text = $"Puzzle: {regionPuzzles}/{maxPuzzles}"