private void button1_Click(object sender, EventArgs e) { var Arr = textBox1.Text.Split(); BubbleSort(Arr); textBox2.Text = string.Join(" ", Arr); } Имеется данный код, по условию не должны использоваться методы, чем их можно заменить?
Патологоанатом, ой блтяь, извиняюсь, ошибся. Метод String.Split создает массив подстрок, разбивая входную строку по одному или нескольким разделителям.
Yotic, Та проблема в том, что преподаватель дал задание и условие, что не должны использоваться методы, которые нельзя отобразить на "блок=схеме". И вот надо как-то заменить Split и Join, а мои навыки не позволяют продумать это.
Split for (int i = 0; i < str.Length; i++) { if (str[i] != ' ' && str[i] != '.' && str[i] != ',') { s += str[i]; } else { Console.WriteLine(s); s = ""; } } C# for (int i = 0; i < str.Length; i++) { if (str[i] != ' ' && str[i] != '.' && str[i] != ',') { s += str[i]; } else { Console.WriteLine(s); s = ""; } } static IEnumerable<string> Split(this string str, Func<char,bool> pred) { StringBuilder sb = new StringBuilder(); for(int i = 0; i < str.Length; i++) { if (pred(str[i])) sb.Append(str[i]); else if (sb.Length > 0) { yield return sb.ToString(); sb.Clear(); } } if (sb.Length > 0) yield return sb.ToString(); } C# static IEnumerable<string> Split(this string str, Func<char,bool> pred) { StringBuilder sb = new StringBuilder(); for(int i = 0; i < str.Length; i++) { if (pred(str[i])) sb.Append(str[i]); else if (sb.Length > 0) { yield return sb.ToString(); sb.Clear(); } } if (sb.Length > 0) yield return sb.ToString(); } Но зачем их заменять? Для чего вообще эти костыли? Join string[] many = { "ab", "bc", "cd", "de" }; StringBuilder sb = new StringBuilder(); many.ForEach(x => sb.Append(x)); Console.WriteLine(string.Format("Result: " + sb)); // Result: abbccdde // или так: string resultPlus = string.Empty; many.ForEach(x => resultPlus = string.Format("{0}{1}", resultPlus, x) ); C# string[] many = { "ab", "bc", "cd", "de" }; StringBuilder sb = new StringBuilder(); many.ForEach(x => sb.Append(x)); Console.WriteLine(string.Format("Result: " + sb)); // Result: abbccdde // или так: string resultPlus = string.Empty; many.ForEach(x => resultPlus = string.Format("{0}{1}", resultPlus, x) ); --- Сообщение объединено с предыдущим 10 дек 2022 Если не полениться и загуглить, прежде чем писать сюда, то можно быстрее найти для себя ответ на вопрос. Вот тоже есть решение на CyberForum