Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2016, 16:54   #1
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию Прошу помощи по C#

Всем доброго времени суток! Вообщем ,не так давно решил попробовать изучать C# ,так как до этого не было ни каких опытов в написании кода ,встал передо мной вопрос .Для многих из вас конечно это ,как раз два ,так что прошу не смеяться сильно - ведь все ,когда то начинали Вообщем ,имеются строки: Шилов Вадим ,Малышева Анна ,Сухов Александр и так далее ,все данные в столбик и без запятых,мне надо отсортировать ,имя и фамилию разделённые пробелом ,нашёл на просторах сети код ,но ,я так понимаю что там нужно добавить цикл ,так как он работает ,но сортирует только первую строку ,а остальное просто перекидывает во второй текст бокс ,прошу вашей помощи - господа профессионалы =)
PHP код:
private void btn_Start_Click(object senderEventArgs e)
        {
            
string[] = new string[] { textBox1.Text };
            
string[] s1 = new string[s.Length];
            
string[] s2 = new string[s.Length];

            for (
int i 0s.Lengthi++)
            {
                
int index s[i].IndexOf(' ');
                
s1[i] = s[i].Substring(0index);
                
s2[i] = s[i].Substring(index 1s[i].Length index 1);

                
textBox2.Text = (s1[i] + "\n");
                
textBox3.Text = (s2[i] + "\n");


            }
        } 
stu_dent вне форума Ответить с цитированием
Старый 10.03.2016, 17:11   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Объясните что нужно. Отсортировать буквы в каждом слове, в каждой строке или имена-фамилии по алфавиту? Текст файла. Что ожидаете увидеть после сортировки-то?
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 10.03.2016, 18:06   #3
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию

...разбить по разным текст боксам ,в одном имена в другом фамилии ,данный код работает ,но разбивает только первую строку ,а дальше оставшееся ,целиком кидает в текст бокс с именами - не разбивая.Алфавитного порядка не надо ,как есть так и должно быть построено. Вообщем просто разбить на имена и фамилии ,в том порядке как записано у меня в txt файле.
stu_dent вне форума Ответить с цитированием
Старый 10.03.2016, 18:23   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Непонятно про текстбоксы, но у строк есть метод Split для разбивания.
"\r\n" или "\n" по строкам, " " по пробелу.
https://msdn.microsoft.com/en-us/lib...cs-lang=csharp
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.03.2016, 18:36   #5
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию

...попробую объяснить вот так: у меня на форме 3 textbox_а ,первый - туда загружается файл txt ,где имена и фамилии записаны через пробел ,где каждая новая строка - новые имя и фамилия ,второй textbox под фамилии ,а третий для имён ,мне нужно ,чтоб при запуске программы ,мои имена и фамилии раскидывались по разным textbox_ам ,в моём случаи фамилии - второй и имена - третий. Данный код работает ,но он раскидывает только первую строку и всё ,а остальное кидает не раскидывая ,а как есть в первом textbox_е - в третий. Если я правильно понимаю ,то где-то должен быть цикл ,чтоб код раскидывал все данные из первого textbox_а ,до последней строки ,а не только первую строчку. Думаю так понятно ,заранее всем Спасибо!)
stu_dent вне форума Ответить с цитированием
Старый 10.03.2016, 18:50   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чем помочь-то? Смотрите выше ссылку на документацию и примеры по Split.

Код:
using System;

namespace ConsoleApplication22
{
    class Program
    {
        static void Main(string[] args)
        {
            string text =
@"Шилов Вадим
Малышева Анна
Сухов Александр";

            var lines = text.Split(new[] {"\r\n", "\n"}, StringSplitOptions.RemoveEmptyEntries);

            string firstNames = String.Empty;
            string lastNames = String.Empty;

            foreach (var line in lines)
            {
                var parts = line.Split(new[] {" "}, StringSplitOptions.RemoveEmptyEntries);

                if (parts.Length != 2)
                    throw new Exception("Incorrect line " + line);

                lastNames += parts[0].Trim() + "\n";
                firstNames += parts[1].Trim() + "\n";
            }

            Console.WriteLine(firstNames);
            Console.WriteLine(lastNames);
        }
    }
}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 10.03.2016 в 18:52.
Alex11223 вне форума Ответить с цитированием
Старый 11.03.2016, 00:33   #7
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Подправил код Alex11223'а под WinForms:

Код:
using System;
using System.Windows.Forms;

namespace NamesToTwoTextboxes
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonSplit_Click(object sender, EventArgs e)
        {
            // Get Full Names
            var lines = textBoxFullNames.Text.Split(new[] { Environment.NewLine },
                StringSplitOptions.RemoveEmptyEntries);

            foreach (var line in lines)
            {
                var parts = line.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);

                if (parts.Length != 2)
                    throw new Exception("Incorrect line " + line);

                textBoxFirstNames.Text += parts[1].Trim() + Environment.NewLine;
                textBoxLastNames.Text += parts[0].Trim() + Environment.NewLine;
            }
        }
    }
}
8Observer8 вне форума Ответить с цитированием
Старый 11.03.2016, 00:53   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что автору теперь делать если даже в текстбоксы за него строки подставили?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.03.2016, 12:56   #9
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Подправил код Alex11223'а под WinForms:

Код:
using System;
using System.Windows.Forms;

.....................................
Спасибо большое ,это мне и надо было)
stu_dent вне форума Ответить с цитированием
Старый 11.03.2016, 13:01   #10
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И что автору теперь делать если даже в текстбоксы за него строки подставили?
Вам конечно же ,тоже благодарность) Я хоть голову поломал =) ,а теперь я буду разбирать код от 8Observer8_а и заучивать как и что =) Я же говорю ,я никогда ранее не сталкивался с написанием кода ,так - что не кидайте тапками пожалуйста Ok ,всем ещё раз Спасибо - очень помогли! Классный форум - Классные форумчане!!!!!!!!

Последний раз редактировалось stu_dent; 11.03.2016 в 13:12.
stu_dent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи Jimoros Общие вопросы C/C++ 0 11.01.2014 23:43
Прошу помощи:) valiza Помощь студентам 0 03.07.2009 11:58
прошу помощи! alexxxx Фриланс 1 07.06.2008 17:05