1

我有一个从 BizTalk 生成的架构。它不理解字典集合,因此它只是将其转换为字符串和字符串的键值对数组。现在,当我在服务中重定向请求时,我得到

 Dictionary<string, string> valuePairs

当我查看 reference.cs 文件时,我可以看到如下:

public bool ProcessMessage(string code, string template, Service.Proxy.ArrayOfKeyValueOfstringstringKeyValueOfstringstring[] valuePairs)

如何使用 linq 将此字典转换为字符串字符串的键值数组?我知道使用 linq 很容易做到这一点,但任何帮助都将不胜感激。

到目前为止,我已经尝试过,但不起作用:

ArrayOfKeyValueOfstringstringKeyValueOfstringstring[] array =
                  valuePairs.Select(pair => string.Format("{0},{1}", pair.Key, pair.Value))
                 .ToArray(KeyValuePair<string,string>);
4

2 回答 2

4

试试下面,您可能需要相应地更改新对象的设置属性

ArrayOfKeyValueOfstringstringKeyValueOfstringstring[] array =
                  valuePairs.Select(pair =>  
                     new ArrayOfKeyValueOfstringstringKeyValueOfstringstring(){
                         Key= pair.Key, Value= pair.Value}).ToArray();
于 2013-07-17T08:41:39.553 回答
0

您可以这样做,它将您的字典转换为所需的数组:

KeyValuePair<string, string>[] kvps = valuePairs.ToArray();
于 2013-07-17T08:43:56.813 回答