如果以前曾询问过这种情况,我只能看到其他语言的解决方案,并且不知道用什么正确的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