乘以Int和Char

时间:2011-05-13 17:49:52

标签: c#

所以,我在5年前写了一篇关于一个项目的旧代码。我决定复制/粘贴旧代码并更新语法/格式等等,因为编码非常糟糕。然后我走到了这一行:

sp += sp3.Substring(sp3.Length - 3, 2) + (Convert.ToInt32(Convert.ToChar(sp3.Substring(sp3.Length - 3, 1))) * (Convert.ToChar(sp3.Substring(sp3.Length - 5, 1)))).ToString().Substring(1);

我猜这是一个错字,但因为我真的不明白这里发生了什么,我似乎无法让结果代码的功能与原始代码相同。奇怪的是,即使复制/粘贴旧代码似乎也会产生不同的结果。对于我所知道的所有内容,这可能与此代码无关,但这是我能找到的唯一让我感到奇怪的东西。

如果你没有看到我在说什么,似乎我在最后一位省略了转换回整数。老实说,我甚至不知道你可以将整数和char值相乘,因为我还没有启动我的.NET类。我试着谷歌搜索,无济于事;所以,如果有人能提供一些见解,那就太好了。无论如何,所有“sp”变量都是长度> 1的字符串。 5。

1 个答案:

答案 0 :(得分:0)

鉴于代码是在5年前编写的,您可能需要重新审视代码的用途,看看是否可以更好地编写代码。开发人员可以在5年内学到很多东西。

如果您想更好地了解其中的实际内容,您应该将其分解为多个语句,并使用调试器或Console.WriteLine(或Debug.WriteLine)打印出中间值。通过这种方式,您可以准确地看到代码行的每个步骤以及它如何影响结果。

获取更多信息的另一种有用方法是使用Visual Studio调试器:您可以突出显示部分行,右键单击,然后单击“添加监视”以让调试器仅评估该子表达式。这也可以帮助您尝试不同的输入以查看其行为。

为不同输入和预期输出编写单元测试的奖励点,以验证您期望的行为。