C# 如何在字符串数组中拆分字符串?

C# 如何在字符串数组中拆分字符串?,c#,.net,linq,C#,.net,Linq,下面是我的字符串数组: public string[] categories { get; set; } 现在,此类别包含如下记录: "categories": [ "electronic,sports", "abc,pqr", "xyz", ] 输入: 现在,我想在类别中拆分值并创建如下记录,但仅在类别变量中: 因此,最终类别变量应包含如下输出: "categories": [ "electronic", "sports", "abc

下面是我的字符串数组:

 public string[] categories { get; set; }
现在,此类别包含如下记录:

 "categories": [
    "electronic,sports",
    "abc,pqr",
    "xyz",
  ]
输入:

现在,我想在类别中拆分值并创建如下记录,但仅在类别变量中:

因此,最终类别变量应包含如下输出:

"categories": [
    "electronic",
    "sports",
    "abc",
    "pqr",
    "xyz",
  ]
所以我希望我的循环运行5次;若我循环到categories变量,并且只对这个变量执行更多的操作,那个么我不想在其他变量中获得上面的最终输出

 foreach (var category in categories)
 {
     //code
 }

这可能对你有用

List<string> newcategories = new List<string>();
foreach(var category in categories)
{
    if(category.Contains(","))
    {
        string[] c = category.Split(',');
        newcategories.Add(c[0]);
        newcategories.Add(c[1]);
    }
    else
    {
        newcategories.Add(category);
    }
}

您可以尝试不使用if代码

        List<string> temps = new List<string>();
        foreach (var category in categories)
        {
            temps.AddRange(category.Split(',').ToList());
        }
        categories = temps.ToArray();

没有linq…只需使用几个foreach循环

        string[] categories = new string[] { "electronic,sports", "abc,pqr", "xyz" };

        foreach(var category in categories)
        {
            foreach(var item in category.Split(','))
            {
                Console.WriteLine(item);
            }
        }
您可以使用LINQ,然后将结果投影到阵列:

using System.Linq;


string[] categories = { "electronic,sports", "abc,pqr", "xyz"};
categories = categories.SelectMany(o => o.Split(',')).ToArray();

foreach(var c in categories)
{
    Console.WriteLine(c);
}
输出:


你的意见是什么?这是JSON的一部分还是其他内容?categories=categories.SelectManyo=>o.Split','.ToArray@un lucky:更新了我的问题以包含示例输入抱歉,正如我在问题中所说,我不想使用新变量。我只想在我的类别中使用字符串数组。非常感谢您的帮助,请继续这样帮助。再次感谢:非常感谢您的帮助,请继续这样帮助:非常感谢非常感谢您的帮助,请继续这样帮助:
using System.Linq;


string[] categories = { "electronic,sports", "abc,pqr", "xyz"};
categories = categories.SelectMany(o => o.Split(',')).ToArray();

foreach(var c in categories)
{
    Console.WriteLine(c);
}
electronic
sports
abc
pqr
xyz