必须为每个文件分配以下属性:Accountname,Campaignname,documentname和Destinationname.帐户和广告系列经常在类似文件之间共享,但文档几乎总是唯一的.请参阅下面的示例.
case "Cow": accountname = "Farm Animals"; campaignname = "Quadrupeds"; documentname = "Milk Givers"; destinationname = "Milking line"; break;case "Chicken": accountname = "Farm Animals"; campaignname = "Bipeds"; documentname = "Egg Layers"; destinationname = "Coupe"; break;case "Turkey": accountname = "Farm Animals"; campaignname = "Bipeds"; documentname = "Dinner"; destinationname = "My table"; break;case "Dog": accountname = "Farm Animals"; campaignname = "Quadrupeds"; documentname = "Best FrIEnd"; destinationname = "Front Porch"; break;case "Pig": accountname = "Farm Animals"; campaignname = "Quadrupeds"; documentname = "Bacon"; destinationname = "My Plate"; break;
我不知道字典是否是我正在寻找的,或者我是否构建了一个自定义类,我可以使用liNQ选择值,这就是为什么我在这里.
我希望减少重复值以使其更易于管理.类似于微型关系数据库的东西,用于存放不同的值以及属于它们的文档.
我的问题是:如果没有switch语句,有没有更好的方法来解决这个问题?根据我的需要,我的问题有更好的名称吗?
解决方法 好的,所以每个参数都是与每只动物相关的一对多关系.我的解决方案是为每个参数创建字典,其类型为Dictionary< string,List< string>>,如下所示:var accountnames = new Dictionary<string,List<string>> { {"Farm Animals",new List<string> {"Cow","Chicken","Turkey","Dog","Pig"}} };
然后你将以类似于此的方式使用它(此示例使用匿名类型).您可能希望为值检索创建一个扩展方法来清理代码并使其不区分大小写.
foreach(var animal in animals){ var item = new { Accountname = accountnames.First(x => x.Value.Contains(animal)).Key };}总结
以上是内存溢出为你收集整理的c# – 根据字符串选择多个属性的值全部内容,希望文章能够帮你解决c# – 根据字符串选择多个属性的值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)