IDictionary<string, string> ou NameValueCollection

J'ai un scénario où-je peux utiliser NameValueCollection ou IDictionary. Mais je voudrais savoir à qui l'on sera mieux en terme de performance.

-- À L'Aide De NameValueCollection

NameValueCollection options()
{
    NameValueCollection nc = new NameValueCollection();

    nc = ....; //populate nc here

    if(sorting)
       //sort NameValueCollection nc here

    return nc;
}

-- à l'aide de IDictionary

IDictionary<string, string> options()
{
    Dictionary<string, string> optionDictionary = new Dictionary<string, string>();

    optionDictionary = ....; //populate

    if(sorting)
       return new SortedDictionary<string, string>(optionDictionary);
    else
       return optionDictionary;
}