当前位置:  开发笔记 > 编程语言 > 正文

从Dictionary中加入键和值

如何解决《从Dictionary中加入键和值》经验,为你挑选了1个好方法。

有没有办法快速(即不使用foreach)concat以下Dictionary:

Dictionary g = new Dictionary();
g.Add("K", "k1");
g.Add("L", "l1");

"K=@K,L=@L"

得到这个结果"K=k1,L=l1"怎么样?

我正在玩一点String.Join,但这似乎没有做我想要的.

一些背景:我有一个键/值对的列表,我想要在我的数据库中INSERT (...keys...) VALUES (...values...)或更新记录...,key=value, ....



1> Scott Chambe..:

您可以使用LINQ轻松地完成此操作,它仍然foreach在封面下使用,因此它不会"更快",但它应该易于阅读.

Dictionary g = new Dictionary();
g.Add("K", "k1");
g.Add("L", "l1");

var keys1 = g.Select(x=>String.Format("{0}=@{0}", x.Key));
var result1 = String.Join(",", keys1);
Console.WriteLine(result1);

var keys2 = g.Select(x=>String.Format("{0}={1}", x.Key, x.Value));
var result2 = String.Join(",", keys2);
Console.WriteLine(result2);

Run Code

我们做的第一件事是创建IEnumerable我们想要的项目,然后我们string.Join将IEnumerable用于单个字符串.

编辑:
如果您要更新到数据库,我建议删除此方法并尝试一些ORM库,如Entity Framework或NHibernate.他们为您完成所有这些工作,使用对象更容易,而不用担心生成动态查询.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有