/ / c # Чи існує простий спосіб взяти мульти-розділений масив і перетворити його лише на один послідовний масив? - c #, масиви, список

c # Чи існує простий спосіб сприймати багатосторінковий масив і перетворити його в єдиний послідовний масив? - c #, масиви, список

Отже, у мене є рядок "один-два; три-чотири; п'ять-шість"

Коли я розділяю ";" він стає масивом:

one-two  three-four  five-six
[0]       [1]        [2]

Потім foreach (рядок s у масиві), я розділяю "-", воно стає

one  two     three  four     five  six
[0]  [1]      [0]   [1]       [0]  [1]

Я хотів би, щоб це був такий масив:

one two three four five six
[0] [1]  [2]   [3]  [4] [5]

Для довідки, на даний момент мій код майже такий. (Пехарпс, я повинен створити список ...?)

string pairsList="one-two;three-four;five-six";

string[] pairArray=pairsList.Split(";");

foreach(string s in pairArray)
{
string[] splitPair=s.Split(",");
}

Відповіді:

1 для відповіді № 1

Ви в основному там:

string pairsList="one-two;three-four;five-six";
List<string> result = new List<string>();

string[] pairArray=pairsList.Split(";");

foreach(string s in pairArray)
{
string[] splitPair=s.Split("-");
foreach (var thing in splitPair)
{
result.add(thing);
}
}

return result.ToArray();

Ще краще: розділити на всі маркери одночасно:

string pairsList="one-two;three-four;five-six";

string[] pairArray=pairsList.Split(";", "-");

return pairArray;

2 для відповіді № 2

Ви можете просто запитати string.Split розділити на - так само.

string.Split бере а params char[] separator список аргументів, щоб ви могли просто попросити його розділити - так само:

string[] pairArray = pairsList.Split(";", "-" );