无法从散列表中读取键值对

本文关键字:读取 键值对 列表 | 更新日期: 2023-09-27 17:49:33

我正在编写一个specflow来测试一个服务。我正在读取表并将键,值存储在哈希表中。

下面是Feature文件的一个示例:

    |Index|Id | Message|
    |test1|1   | aa|
    |test2|2   | bb |
下面是我从表 中读取数据的方法
    public Hashtable GetData(Table table)
    {
        var data = table.CreateSet<SpecFlowData>();
        var hashtable = new Hashtable();
        foreach (var currentRow in data)
        {
            var key = currentRow.Index;
            var value = GetValues(currentRow);
            hashtable.Add(key, value);
        }
        return hashtable;
    }

这里我试图提取哈希表

中的键和值对
     [When(@"the test data is submitted to service")]
    public void WhenTheTestDataIsSubmittedService()
    {
    // the table data is now stored in a Textcontext
        var message = TestContext.Messages;
        byte? result = null;
        foreach (Hashtable entry in message)
        {
            var values = entry.Values;
            // problem area
            foreach (Hashtable item in  values)
            {
            var Ids = item["id"];
            var messages = item["message"];
            // send message to service accepts string,string input
            sendMessageResult = client.SendMessageToService((string)appIds, (string)messages);
            }
        }

    }

因为所有的值都有自己的键值对…我试图在第二个循环中访问它,但它没有循环哈希表值的集合。

我不明白为什么我不能在第二个循环中循环所有的值集合

无法从散列表中读取键值对

一旦我将哈希表替换为Dictionary,我就可以访问数据了