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