Я написал код для проверки равенства между значениями столбцов в DataTables, когда тип столбца неизвестен.Тестирование равенства значений DataColumn в C#
Тестирование непосредственно, как это:
row["Foo"] == row["Bar"]
всегда приводит к ложным, предположительно потому, что реализация объекта Равных использует ReferenceEquals.
Так что я прибегал к:
row["Foo"].ToString() == row["Bar"].ToString()
Это работает (по крайней мере, за исключением случаев, я сталкивался до сих пор), но это, кажется, немного, ну, manky.
Может ли кто-нибудь подумать о причине, я не должен этого делать, или предложить лучший способ? Помните, что я не знаю типы столбцов во время разработки, поэтому отливка не является вариантом.
Благодаря
Дэвид
Итак, вы ищете способ надежного сравнения равенства двух объектов, которые могут быть разных типов? –
Можете ли вы объяснить немного больше, почему бы вам не знать типы во время кодирования? –
Джастин - извините, я не объяснил. Они будут одного типа, но тип неизвестен во время разработки. – David