请考虑以下内联代码:
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
是格式化数组的函数。