Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq中带括号的逗号分隔列表项_C#_List_Linq - Fatal编程技术网

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);