J'ai une trieuse qui effectue diverses comparaisons. Resharper indique que je devrais passer de String.CompareTo
a String.CompareOrdinal
. Cela présente-t-il vraiment un avantage ou dois-je adapter les règles d'inspection en conséquence ?
Comparer à :
config.Sort(delegate(configData data1, configData data2)
{
if (data1.SettingName.Equals(data2.SettingName))
{
string m1 = data1.SettingMachine;
string m2 = data2.SettingMachine;
if (m1 == null)
m1 = string.Empty;
if (m2 == null)
m2 = string.Empty;
return m1.CompareTo(m2);
}
return data1.SettingName.CompareTo(data2.SettingName);
});
CompareOrdinal :
config.Sort(delegate(configData data1, configData data2)
{
if (data1.SettingName.Equals(data2.SettingName))
{
string m1 = data1.SettingMachine;
string m2 = data2.SettingMachine;
if (m1 == null)
m1 = string.Empty;
if (m2 == null)
m2 = string.Empty;
return String.CompareOrdinal(m1, m2); ;
}
return String.CompareOrdinal(data1.SettingName, data2.SettingName);
});