查询哈希表键 LINQ 表达式 C#

Querying Hashtable key LINQ expression C#

我有一个包含 key/value 对的哈希表,如下所示,

Hashtable h1 = new Hashtable();
h1.Add("@USD_Type","123");

        public class USDParameters
        {
            public const string USDType = "@USD_Type";
            public const string USDId = "@USD_ID";
            public const string USDName = "@USD_Name";
        }

有时,我的哈希表中可能还有 "@USD_ID""@USD_Name" 个键。

我想查询哈希表中以 @STD_ 开头并与 USDParameters 中的名称匹配的所有键。如果在哈希表中找不到该名称,那么我需要构建一个字符串,该字符串具有哈希表中的键(减去@)。

例如“哈希表中缺少以下键 - USD_ID、USD_Name”

具有挑战性的部分是查询键:

var keys = h1.Keys.Cast<string>()
  .Where(x => x.StartsWith("@STD_"));

一旦你有了这个可枚举类型的列表,就可以更容易地查找丢失的键。