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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 14:17   #1
Lastsummer
Пользователь
 
Аватар для Lastsummer
 
Регистрация: 05.10.2010
Сообщений: 10
Печаль C# - Вывод строки System.Char[] вместо нужного результата

Снова прошу вашей помощи.
Решила создать отдельную функцию, которая перемешивает буквы в слове, и поместить ее в отдельный класс. Вот так она выглядит:

Код:
public class MyString
{
    public static string MixedString(string mystr)
    {
        char[] mix_symbols;
        string mix_str;
        char temp;
        Random r = new Random();

        mix_symbols = mystr.ToCharArray();
   
        for (int i = 0; i < mix_symbols.Length; i++)
        {
            int randomIndex = r.Next(mix_symbols.Length); 
            temp = mix_symbols[i];
            mix_symbols[i] = mix_symbols[randomIndex];
            mix_symbols[randomIndex] = temp;
        }
        
        mix_str = mix_symbols.ToString();

        return (mix_str);
    }
}
Затем я использую эту функцию следующим образом:

Код:
private void MixBtn_Click(object sender, EventArgs e)
        {
            string my_str;
            string mixed_str;

            my_str = StrTextBox.Text;
            mixed_str = MyString.MixedString(my_str);
            StrRichTextBox.AppendText(mixed_str + "\n");
        }
Но вместо необходимого результата - слова с перемешанными буквами - выводится строка System.Char[].
Подскажите пожалуйста, в чем моя ошибка? Большое спасибо!
P.S. Не судите меня строго, C# учу 2 недели.
Lastsummer вне форума Ответить с цитированием
Старый 02.02.2011, 18:28   #2
Neser
Пользователь
 
Аватар для Neser
 
Регистрация: 26.12.2010
Сообщений: 47
По умолчанию

Код:
    char[] mix_symbols;
                string mix_str = string.Empty;
                char temp;
                Random r = new Random();
                mix_symbols = mystr.ToCharArray();
                for (int i = 0; i < mix_symbols.Length; i++)
                {
                    int randomIndex = r.Next(mix_symbols.Length);
                    temp = mix_symbols[i];
                    mix_symbols[i] = mix_symbols[randomIndex];
                    mix_symbols[randomIndex] = temp;
                }
                foreach (char c in mix_symbols)
                {
                    mix_str += c;
                }
                return (mix_str);
KISS - Keep It Simple Stupid
Neser вне форума Ответить с цитированием
Старый 02.02.2011, 18:51   #3
Neser
Пользователь
 
Аватар для Neser
 
Регистрация: 26.12.2010
Сообщений: 47
По умолчанию

А ошыбка -
Код:
mix_str = mix_symbols.ToString();
ToString ето не антипод ToCharArray.
KISS - Keep It Simple Stupid
Neser вне форума Ответить с цитированием
Старый 02.02.2011, 22:55   #4
Lastsummer
Пользователь
 
Аватар для Lastsummer
 
Регистрация: 05.10.2010
Сообщений: 10
По умолчанию

Спасибо огромное, теперь все работает! Никогда раньше не работала с символами, строками и тому подобными вещами, поэтому очень благодарна за помощь! Теперь хоть буду знать, как правильно преобразовывать массив символов в строку...
Lastsummer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод результата на порт В ТатьянаП Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 26.10.2010 07:28
Поиск и вывод нужного изображения в Excel 2007, VBA Stlline Microsoft Office Excel 5 11.08.2010 09:09
Конвертирование из const char*(System::String) в LPCWSTR Eros Общие вопросы .NET 1 27.05.2010 12:36
Вывод не нужного при поиске файлов coNsept Общие вопросы C/C++ 5 28.04.2010 19:11
Ассемблер вывод результата. SickUSP Помощь студентам 0 28.01.2010 18:13