如何将键与值连接起来

本文关键字:连接 起来 | 更新日期: 2023-09-27 17:58:57

我正试图创建一个由键及其值组成的字符串,这样字符串看起来像:

密钥;价值,关键;价值,关键;值

到目前为止,我已经尝试使用concat:

var originalKeyValues = entity.ChangeTracker.OriginalValues.Keys.Concat(
    entity.ChangeTracker.OriginalValues.Values).ToString();

但这似乎并不能产生我想要的东西。

KeysValues都是Dictionary<string, object>

如何将键与值连接起来

string result=list.Select(w=>w.Key+";"+w.Value).Aggregate((c,n)=>c+","+n);

我想这样做:

var x = new Dictionary<string, string> { { "key", "value" }, { "key2", "value2" } };
Console.WriteLine(
    String.Join(",", x.Select(d => String.Format("{0};{1}", d.Key, d.Value)))
);

从字典中选择一个可枚举的字符串,然后通过,加入列表。

输出:key;value,key2;value2

var originalKeyValues = entity.ChangeTracker.OriginalValues
    .Select(OV => OV.Key + ";" + OV.Value)
    .Aggregate((acc, next) => acc + "," + next));

我认为(未经测试)。

除了上面提到的那些:

result = (from a in list select a.Key + ";" + a.Value).Aggregate((current, next) => current + "," + next);

我们也可以在不使用linq:的情况下尝试简单的for循环

foreach (KeyValuePair<String, String> a in list)
            result += a.Key + ";" + a.Value + ",";

或者我们可以使用。NET 4的字符串特性。加入:

result = String.Join(",", (from a in list select a.Key + ";" + a.Value));