Что такое значение по умолчанию KeyValuePair<string, int>
?Что такое значение по умолчанию `KeyValuePair <string, int>`?
например. Я бег запрос LINQ и возвращение FirstOrDefault()
значения из него
KeyValuePair<string, int> mapping = (from p in lstMappings
where p.Key.Equals(dc.ColumnName, StringComparison.InvariantCultureIgnoreCase)
select p).FirstOrDefault();
if (mapping != null)
{
}
как проверить, если mapping
объекта является нулевым/пустой
(я получаю компиляцию ошибки времени в коде выше Operator '!=' cannot be applied to operands of type 'System.Collections.Generic.KeyValuePair<string,int>' and '<null>'
)
PS: lstMappings
имеет тип
List<KeyValuePair<string, int>>
Это очень плохое использование запроса LINQ. Вы не должны использовать LINQ там вообще.Если вы хотите иметь возможность обращаться с вашими ключами без учета регистра, вам следует предоставить свой собственный IEqualityComparer, который будет делать именно это. Затем вы просто использовали метод ContainsKey словаря, чтобы определить, есть ли совпадение и, если есть, получить значение с помощью этого ключа. – jmcilhinney
дубликат [По умолчанию для KeyValuePair] (http://stackoverflow.com/q/1641392/3834) – Graviton