c# - CInt 和 GetHashCode

标签 c# vb.net

当我将一些 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/

相关文章:

sql - 使用 LINQ 动态改变 'where' 语句中的条件数

asp.net - 如何在 .net vb 中发送 POST?

c# - 使用 ODBC 在 .NET 中上传 CSV

c# - 禁用 ComboBox 控件中的右箭头键

c# - 如何让 ASP.NET 页面知道文件何时可以从服务器下载

asp.net - 将 "camel case"类型的文本转换为中间有空格的文本的函数?即 : HelloWorld --> Hello World

c# - linq to sql vs 存储过程的效率

c# - 没有开关或 If/Then 的工厂模式

c# - 如何使用新的 Azure 存储 SDK v12 打开新 Blob 的可写流?

c# - 如何在不使用泛型的情况下创建泛型变量?