当我将一些 VB 代码转换为 C# 时,我遇到了一些奇怪的 VB 代码:
totalLinks = table1.Rows(i).Item("qty").GetHashCode) * CInt(table2.Rows(i).Item("numOfLinks").GetHashCode + 1)
(业务逻辑应该获取链接总数 = qty * numOfLinks)。
table1 是一个数据表,qty 和 numOfLinks 是其中的两列。
问题1:我们可以通过将“CInt”应用于上面的哈希码来获得整数吗?
问题2:像上面那样让hashcode加1然后转换成整数是什么意思? (应该先转换为整数然后加1?还是我实际上误解了代码?)
在我准确理解其含义之前,我不知道如何将其转换为 C#。谢谢!
最佳答案
有人不知道他们在用这段代码做什么,但幸运的是它有效。
GetHashCode 碰巧返回整数变量的基础值,因为实际上没有任何东西可以哈希。
因此,您可以(应该)简单地忽略 GetHashCode 代码并将代码转换为
totalLinks = CInt(table1.Rows(i).Item("qty")) * (CInt(table2.Rows(i).Item("numOfLinks")) + 1)
关于c# - CInt 和 GetHashCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41797225/