是否可以将字符串拆分为一行中的一组变量?

时间:2018-05-01 17:24:06

标签: c# .net

我不确定自己在做什么甚至是可能的,但我已经尝试了各种组合并觉得应该可行 - 我希望如此!

我试图将逗号上的长字符串直接拆分为一组变量,例如

string A1; string B2; string C3;

string WHOLE = "xxx,yyy,zzz";

结果将是:

A1 = xxx, B2 = yyy and C3 = zzz

我想将字符串WHOLE分成3部分,直接分成A1,B2,C3 ......

我试过了:

string[A1, A2, C3] = WHOLE.Split(',');

string[] (A1, A2, C3) = WHOLE.Split(',');

string[] {A1, A2, C3} = WHOLE.Split(',');

我希望你能得到这个想法,我现在也想弄清楚调查员是否适用于此,但我对C#还是很新鲜而且从未在VB.Net中使用它们 - 我觉得像c#将具有此功能我不知道从哪里开始...

2 个答案:

答案 0 :(得分:1)

我不认为使用默认的string.split方法是可行的。它返回一个部分数组,而不是三元变量。

另外,请记住字符串在c#中是不可变的。所以像string[A1, A2, C3] = WHOLE.Split(',');这样的东西对当前的构造没有意义。 (好吧,至少对我来说)

我现在能想到的最好的是。

int a1=0; int a2=1; int a3=2;
string parts = "xxx, yyy, zzz".split(',');
console.log(parts[a1]);

你是否有问题需要将其作为单线程,而且不仅仅是使用索引数组?

答案 1 :(得分:0)

这是你要找的东西吗?

string A1; string B2; string C3;

string WHOLE = "xxx,yyy,zzz";
A1 = WHOLE.Split(',')[0]; // xxx
B2 = WHOLE.Split(',')[1]; // yyy
C3 = WHOLE.Split(',')[2]; // zzz

如果你可以使用某种集合,那么你可以这样做:

string WHOLE = "xxx,yyy,zzz";
IEnumerable<string> list;

list = WHOLE.Split(',');

foreach(string l in list)
{
    Console.WriteLine(l); 
}

// xxx
// yyy
// zzz
// ...

您甚至可以将其简化为:

string WHOLE = "xxx,yyy,zzz,...";

foreach(string l in WHOLE.Split(','))
{
    // Do something
    Console.WriteLine(l);
}

如果您不知道所需的变量数量或拆分的数量,则应考虑使用列表。维护起来要容易得多。