Miroslav Holec
Premium

Ověření KeyValuePair is NULL

Miroslav Holec   29. října 2014  update 29. března 2016

Tento článek byl napsán v roce 2014. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.

KeyValuePair je velmi primitivní struktura, která se skládá z klíče a hodnoty (generické typy). Používá jej například Dictionary, která je v podstatě kolekcí těchto párů. Samotný KeyValuePair toho moc neumí (vystavuje jen generické typy key, value a overriduje metodu ToString()). Často se hodí ale ověřit, zda je vrácená kolekce NULL.

var countries = new Dictionary<string, string>
{
    {"cz", "prague"},
    {"de", "berlin"}
};

var country = countries.FirstOrDefault(x => x.Key == "en");

Pro ověření, zda je country NULL, lze napsat užitečnou extension metodu:

public static class KeyValuePairExtensions
{
    public static bool IsNull<T, TU>(this KeyValuePair<T, TU> pair)
    {
        return pair.Equals(new KeyValuePair<T, TU>());
    }
}

a tu následně použít v kódu:

if(country.IsNull())
{
	// cokoliv zde
}