Извините, если это было задано ранее, я могу видеть только решения для других языков и не знаю, что означает правильная терминология C#, чтобы описать проблему.Поиск и замена пар с несколькими значениями
У меня есть List<Person>
, где каждый Person
объект имеет свойство Site
и Department
строки.
Из-за различных соглашений об именах в различных системах ERP, мне нужно прочитать значение каждого человека сайта/отдела и на основе матч был найден в справочной таблице, замените их:
в настоящее время я могу закодировать это вручную следующим образом:
foreach (Person p in pi.People)
{
if (p.Site == "New York" && p.Department == "HR")
{
p.Department = "Human Resources";
}
else if (p.Site == "Seattle" && p.Department == "Production")
{
p.Site = "Redmond";
p.Department = "Prod Ax-Rdm";
}
// .... removed for brevity
}
Я задавался вопросом, есть ли лучше/умнее способ добиться того же, однако? В таблице поиска около 20 строк и около 700 человек в списке.
Мое внутреннее мышление заключается в том, чтобы идти с DataTable (4 столбца с индексом «старых» столбцов).
Я рад пойти на RTFM, если у кого есть хорошее предложение по лучшему подходу.
Как о некоторая конструктивная критика, чтобы пойти с этим downvote? – EvilDr
Я думаю, что ваш существующий подход в порядке - это бизнес-правила, уникальные для вашего проблемного домена/бизнеса, поэтому вы хотите, чтобы правила были максимально ясными и простыми. – Polyfun
Спасибо; Я ценю ваш вклад. – EvilDr