BillWoodruff
Мне действительно интересно, в каком классе вы можете быть или какая задача программирования в реальном мире может потребовать разделения строки на две части, основываясь на идее "половина"."
Однако это легко сделать. Вот один из способов сделать это:
string bar = "|";
string[] splitStr = new string[] {bar};
string str = "12345678";
string[] byHalf = str.Insert(str.Length / 2, bar).Split(splitStr,StringSplitOptions.RemoveEmptyEntries);
Конечно, этот метод легко спутать, если строка, которую вы разделяете, имеет символ, который вы используете для ее разделения.
Вот пример с использованием класса StringBuilder для вас, чтобы учиться:
string str = "12345678";
StringBuilder sb = new StringBuilder(str);
int half1 = sb.Length/2;
int half2 = sb.Length - half1;
char[] halfOne = new char[half1];
char[] halfTwo = new char[half2];
sb.CopyTo(0, halfOne, 0, half1);
sb.CopyTo(half1, halfTwo, 0, half2);
string[] results = new string[]
{
new string(halfOne), new string(halfTwo)
};
sb.Clear();
Поймите, что происходит на каждом этапе этого процесса, и вы узнаете что-то, что будет полезно в будущем, когда вы находитесь в сценарии программирования, где вам придется иметь дело с "тяжелым" использованием строк :)