请考虑以下内联代码:

string.Join(",", context.Request.Headers.ToArray())

如果上面的头结构是Dictionary(string, string),上面的代码将输出以下内容:
[MyHeaderKey1, MyHeaderVal1],[MyHeaderKey2, MyHeaderVal2]

但是,Dictionary值是一个string[]值,因此将输出以下内容:
[MyHeaderKey1, System.String[]],[MyHeaderKey2, System.String[]]

我需要能够像第一个代码示例那样生成输出,但是要针对带有Dictionary值的string[]生成输出。如果我只取Dictionary-string[]值的第一项就可以了。这可以用内联C_来完成吗?

最佳答案

对。使用linqSelect

string.Join(",", context.Request.Headers.Select(x => string.Format("[{0}, {1}]", x.Key, FormatThisArray(x.Value))))

编辑:由于op提到这个值是string[],所以如上所述的默认x.Value可能不会产生所需的输出。我不确定op如何格式化字典项的值,并且假设FormatThisArray是格式化数组的函数。

10-07 20:01
查看更多