Как часто вам нужно искать в том же списке?Если вы выполняете поиск только один раз, вы можете также выполнить прямой линейный поиск - хотя вы можете сделать свой текущий код немного более эффективным, вызвав SearchValue.ToString()
один раз перед запросом.
Если вы собираетесь выполнять этот поиск в одном и том же списке несколько раз, вам следует либо создать Lookup
, либо Dictionary
:
var lookup = m_ListNodes.ToLookup(nd => nd.Label);
или
var dictionary = m_ListNodes.ToDictionary(nd => nd.Label);
Использоватьсловарь, если на ярлык ровно одна запись;используйте поиск, если может быть несколько совпадений.
К используйте this, для поиска:
var results = lookup[SearchValue.ToString()];
// results will now contain all the matching results
или для словаря:
WhateverType result;
if (dictionary.TryGetValue(SearchValue.ToString(), out result))
{
// Result found, stored in the result variable
}
else
{
// No such item
}