是否可以在foreach循环中创建一个新字符串?

时间:2012-12-09 08:57:28

标签: c#

int x = 0;
string1 = "Hi,Bye";
string[] string2 = string1.Split(",");

foreach (string item in string2)
{
   string x = item;
   x++;
}

现在有没有办法真正用'#34;预设"来制作新的字符串?用字符串命名?希望我很清楚你能理解我想做什么,但很难解释这一点。

2 个答案:

答案 0 :(得分:2)

不要递增int变量x。

迭代foreach循环,item数组中的string2将跳转到数组中的下一个值。

string1 = "Hi,Bye";
string[] string2 = string1.Split(",");

foreach (string item in string2)
{
   Console.Write(item);
}

如果您使用的是for循环,那么代码看起来就像这样(这可能导致混淆):

string[] string2 = string1.Split(",");

for(int x = 0; x < string2.Length; x++)
{
   Console.Write(string2[x]);
}

修改

我要拆分的字符串示例:“test1,test2 / test3,test4”我第一次将字符串从“/”拆分然后我希望它放入一个新的字符串。从那里我想进一步从“,”分开它,但首先我必须把“test1,test2”和“test3,test4”分成两个新的字符串

string s =  "test1,test2/test3,test4";
string[] arr = s.Split('/');
string stringTestOneAndTwo = arr[0];
string stringTestThreeAndFour = arr[1];
string[] subArr1 = arr[0].Split(',');
string[] subArr2 = arr[1].Split(',');

答案 1 :(得分:0)

无法完全理解您的问题。但是你尝试使用List<>吗?

string s = "test1,test2/test3,test4";
string[] subStrings1 = s.Split('/');
List<string[]> subStrings2 = new List<string[]>();
foreach (string item in subStrings1)
{
    string[] tempArray = item.Split(',');
    subStrings2.Add(tempArray);
}