可以使用c#中的内联代码输出此值吗?

Gre*_*tle 4 .net c#

请考虑以下内联代码:

string.Join(",", context.Request.Headers.ToArray())
Run Code Online (Sandbox Code Playgroud)

如果上面的Headers结构是a Dictionary(string, string),则上面的代码将输出以下内容:

[MyHeaderKey1, MyHeaderVal1],[MyHeaderKey2, MyHeaderVal2]
Run Code Online (Sandbox Code Playgroud)

但是,Dictionary值为a,string[]因此以下输出:

[MyHeaderKey1, System.String[]],[MyHeaderKey2, System.String[]]
Run Code Online (Sandbox Code Playgroud)

我需要能够像第一个代码示例一样生成输出,但是Dictionarystring[]值相对应.如果我只接受Dictionary- string[]值的第一项,那就没关系.这可以用内联C#完成吗?

DPa*_*Pac 5

是.使用Linq Select.

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

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