Я получаю данные с данными о клиентах из базы данных MySql и объекта клиента из веб-службы.Самый эффективный способ сравнения переменных? C#
Я хочу сравнить каждое значение в datatable со значениями в объекте, и если есть одно поле, которое отличается, я хочу выполнить некоторые задачи.
Я знаю, что я могу получить значения из DataTable с:
string mCompanyName = row["Company Name"].ToString();
string mCreatedDate = row["Created Date"].Tostring();
//etc..
Тогда я получаю значения из веб-службы
string wsCompanyName = customer.companyName;
string wsCreatedDate = customer.createdDate;
Есть около 50 полей и делать
if(mCompanyName != wsCompanyName & mCreatedDate != wsCreatedDate and so on..) (or similar)
{
//Do something
}
кажется немного утомительным и не очень приятным, так как я должен выполнять это? Есть ли лучший способ вставить его в список и использовать какой-то фантастический LINQ?
Заранее спасибо.
Спасибо за этот mfanto, просто вопрос, хотя, это хорошо работает для одного типа, но что бы я сделал, если некоторые значения int, некоторые даты, некоторые двойные и так далее? – Nick
@Nick, затем 'Dictionary' и использовать 'object.Equals'. Однако это может привести к другим проблемам, таким как «1» .Equals (1) -> false », и поэтому« безопасное »решение * может * состоять в том, чтобы сначала все они были преобразованы в строки (однако это необходимо) или добавили в сырой проверке типа ('a.GetType() == b.GetType') и, возможно, не быстро, если он не выравнивается. –