C# linq中带括号的逗号分隔列表项
我有一个列表,我想用逗号分隔项目,项目在[]内 输入是C# linq中带括号的逗号分隔列表项,c#,list,linq,C#,List,Linq,我有一个列表,我想用逗号分隔项目,项目在[]内 输入是 List<string> inputString = new List<string>() { "1", "2", "3", "4" }; 有人能告诉我如何在没有foreach循环的情况下实现这一点吗。 我想使用linq查询 我尝试了以下步骤,但不起作用 inputString.Aggregate("", (str1, str2) => '[' + str1+ ']' + "," + '[' + str2+
List<string> inputString = new List<string>() { "1", "2", "3", "4" };
有人能告诉我如何在没有foreach循环的情况下实现这一点吗。
我想使用linq查询
我尝试了以下步骤,但不起作用
inputString.Aggregate("", (str1, str2) => '[' + str1+ ']' + "," + '[' + str2+ ']');
有人能帮我吗?您需要一个方法,然后使用创建一个结果字符串
List inputString=新列表{1,2,3,4};
var result=string.Join,,inputString.Selects=>$[{s}];
连接与选择相结合的方法
或者即使我们想要尽可能多的linq var result=inputString.Selectel=>$[{el}],.Aggregate,el1,el2=>el1+el2.TrimEnd',';
你是否考虑不使用LINQ?解决这个问题? 如果是,则可以使用下一种方法:
List<string> inputString = new List<string>() { "1", "2", "3", "4" };
string output = "[" + string.Join("],[", inputString) + "]";
使用字符串插值更简单
string result = $"[{String.Join("],[", inputString)}]";
正如您最初尝试使用聚合:
var results = inputString.Select(x => "[" + x + "]")
.Aggregate((cur,next) => cur + "," + next);
你的尝试已经不远了。其结果为[[1]、[2]、[3]、[4]。
元素1+元素2,然后元素1/2+元素3。等
在进行元素聚合之前,只需计算[x]
注意:这不是最有效的连接方式,与字符串相比,它将是最差的。Join类似问题:。
List<string> inputString = new List<string>() { "1", "2", "3", "4" };
string output = "[" + string.Join("],[", inputString) + "]";
string result = $"[{String.Join("],[", inputString)}]";
var results = inputString.Select(x => "[" + x + "]")
.Aggregate((cur,next) => cur + "," + next);