簡體   English   中英

從字典中檢索值 <ulong, object> 部分鍵

[英]Retrieve value from Dictionary<ulong, object> with partial Key

我有一個accounts詞典

accounts<ulong, accounts>

在我的代碼中,我有一個部分密鑰。

問題 :是否可以使用startswith類的方法檢查是否可以通過部分關鍵帳戶account.id找到對象?

謝謝

盡管效率很低,但以下方法應該起作用:

IEnumerable<Account> FindByPartialId(Dictionary<ulong, Account> dictionary, ulong partialId)
{
    var partialIdAsString = partialId.ToString();
    var matchingKeys = dictionary.Keys.Where(k => k.ToString().StartsWith(partialIdAsString));
    var matchingValues = matchingKeys.Select(k => dictionary[k]);
    return matchingValues;
}

可能您可能想要保留字典的副本,其中鍵是直接字符串,然后在字典上進行搜索:

var accountsByStringKey = accounts.Keys.ToDictionary(k => k.ToString(), k => accounts[k]);

因此您可以執行.Where(k => k.StartsWith...而不是.Where(k => k.ToString().StartsWith...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM