Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получается вернуть значение из функции 
:(
    Опции темы
Suppir
Дата 11.3.2012, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Код

        private void ParseGar()
        { 
            string[] gar = textBox1.Lines;
            int end = gar.Length;

            for (int x = 0; x < end; x++)
            {
                string line = MakeKey(gar[x]);
            }

        }

        private void MakeKey(string line)
        {
            line = line + "\r\n";
            return (line);
        }



Мне нужно из функции ParseGar() передать строку gar[x] в функцию MakeKey(), 
которая должна вернуть обратно эту же строку + "\r\n" в ее конце.

Запускаю - выдает две ошибки:


Ошибка    1    Неявное преобразование типа "void" в "string" невозможно
Ошибка    2    "Сделать_сравнение.Form1.MakeKey(string)" возвращает значение void, поэтому после ключевого слова return не должно присутствовать выражение объекта

Объясните, как написать этот код без ошибок?

PM MAIL   Вверх
boevik
Дата 11.3.2012, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



Код

private string MakeKey(string line)
        {
            line = line + "\r\n";
            return (line);
        }



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Suppir
Дата 11.3.2012, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



О, спасибо!

А еще такой вопрос, если возможно.

Мне нужно передать в функцию MakeKey один параметр, а вернуть два строковых параметра: key и line. Как это сделать?

key = "привет"
PM MAIL   Вверх
LOPUH
Дата 12.3.2012, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск

Репутация: нет
Всего: 4



Цитата

Мне нужно передать в функцию MakeKey один параметр, а вернуть два строковых параметра: key и line. Как это сделать?

Посмотрите в MSDN справку по параметру out. Вот пример оттуда:
Код

/*Объявление метода out используется тогда, когда необходимо, чтобы метод возвращал несколько значений. Метод, использующий параметр out, по-прежнему имеет доступ к переменным как возвращаемый тип (см. return), но может также возвращать один или несколько объектов вызывающему методу в качестве параметров out. В этом примере используется out для возврата трех переменных с одним вызовом метода. Обратите внимание, что третьему аргументу начинается значение 0. Это позволяет методам возвращать значения на выбор.*/
class OutReturnExample
{
    static void Method(out int i, out string s1, out string s2)
    {
        i = 44;
        s1 = "I've been returned";
        s2 = null;
    }
    static void Main()
    {
        int value;
        string str1, str2;
        Method(out value, out str1, out str2);
        // value is now 44
        // str1 is now "I've been returned"
        // str2 is (still) null;
    }
}



PM MAIL   Вверх
Suppir
Дата 12.3.2012, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Спасибо, попробую так сделать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.