【问题标题】:Storing and Calculating data into Hashtable将数据存储和计算到哈希表中
【发布时间】:2012-04-07 02:40:57
【问题描述】:

我正在制作一个需要一些计算的小工具。我正在使用哈希表来存储我需要计算的值。该工具从网页中连续提取特定时间间隔(30秒)的数据并将这些数据添加到哈希表中。现在的问题是我需要存储之前的提取数据,当新的提取发生时,我需要从新数据中扣除之前的数据。

这是我目前正在遵循的过程:

Dim MyTable as New Hashtable

MyTable.Add("Data1","200")
MyTable.Add("Data2","100")

MyTable.Add("Data3", MyTable.Item("Data1") - MyTable.Item("Data2") )

'Here I need to redefine the value of Data2 as same as Data1
MyTable.Add(MyTable.Item("Data1"))

在第一次运行时,它显示了 Data3 = 100 的结果,这是正确的。但是在第二次运行时,我需要重新定义 Data2 = Data1 的值。所以我在第二次运行时需要 Data3 = 0 的结果。这可能不是执行此类操作的正确方法。我还尝试使用列表框、列表视图甚至文本文件来存储 Data2 并在第二次运行时调用它。但无法实现。

这是我工具的最后一个阶段,我坚持使用它。所以,我真的希望有人能在这方面帮助我。

谢谢

【问题讨论】:

    标签: vb.net visual-studio-2008 hashtable


    【解决方案1】:

    老兄,我不太明白你在问什么,但我会试一试。首先,我不相信您需要使用 HASTABLE,除非您将通过键搜索列表。看来您只想在应用程序运行时范围(或生命周期)期间保留先前的计算结果。考虑使您的变量全球化。

    'This variable is outside the scope of the function.
    Private previousResult As Integer
    
    Public Function ComputeData(valueOne as Integer, ValueTwo as Integer) as Integer
    
    previousResult = valueOne - valueTwo
    
    Return previousResult
    
    End Function
    

    每当调用 ComputeData 时,新的计算结果都会存储在 previousResult 变量中。请注意,它是应用程序生命周期内的有效存储空间。

    【讨论】:

    • 您好,非常感谢您的回复。我正在工作的项目是从 html 表 (bit.ly/g2ksYk) 下载股票市场数据,并每隔 30 秒将其保存为 csv 文件。在这里,我使用哈希表来分别存储列。我从 html 表中获得的量是累积量,我需要找出最后一卷(每行)。为此,我需要从上次捕获的音量中减去当前音量。你能建议我怎么做吗?谢谢
    • 1.将当前值保存在变量中,然后按上述方式执行计算。 2.使用数据表并执行内存选择msdn.microsoft.com/en-us/library/… 3.查看LINQ,最后将值存储在数据库中并执行查询。一段时间内的历史数据可能会派上用场。
    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2013-03-15
    • 2017-02-28
    相关资源
    最近更新 更多