2010-03-01 110 views
1

我有一个使用id-name值对的散列表。该ID作为密钥输入,名称作为值输入。我然后搜索表,并返回其值与指定的字符串匹配这样的关键在于:(folderValue是指定的字符串)System.Collections散列表 - 搜索最近添加的匹配

String^ key; 
for each (String^ aKey in table.Keys) 
{ 
    if ((String^)table.default[aKey] == folderValue) 
    { 
     key = aKey; 
     break; 
    } 
} 

我的问题是,可能有不止一个值匹配folderValue。有没有办法从最近的条目开始搜索并返回?

TIA

+2

不,没有。 – SLaks 2010-03-01 18:26:01

回答

2

这是一个相当不标准的方式来使用散列表。你如何使用这些数据?考虑备用数据结构,例如List<MyCustomClass>,其中MyCustomClass包含ID,Name,并实现考虑日期或其他基于时间的数据的IComparable。从这个列表中检索项目,并对它们进行排序。对此使用LINQ会给你一个很好的方式来检索数据。