一种简化提供代码的优雅方法

ana*_*lov 3 c# string list

假设有一个列表:

var rawItems = new List<KeyValuePair<string, string>>()
{
    new KeyValuePair<string,string>("A", "1"),
    new KeyValuePair<string,string>("B", "2"),
    new KeyValuePair<string,string>("C", "3")
};
Run Code Online (Sandbox Code Playgroud)

并且需要以下面的形式构造一个字符串:

A = 1,
B = 2,
C = 3
Run Code Online (Sandbox Code Playgroud)

使用的方法:

List<string> transformedItems = new List<string>();
rawItems.ForEach(item => transformedItems.Add(item.Key + " = " + item.Value));
string result = String.Join("," + Environment.NewLine, transformedItems.ToArray());
Run Code Online (Sandbox Code Playgroud)

如果有人能想到更优雅的方式,我会很高兴.

PS:不一定是"同一代码打包在一行"类型的解决方案,而是另一种方式.

Yuv*_*kov 11

也许你会发现这个"优雅":

var result = string.Join(",\r\n", rawItems.Select(
                                  x => string.Format("{0} = {1}", x.Key, x.Value)));
Run Code Online (Sandbox Code Playgroud)

  • 为避免'ForEach`而赞成. (3认同)