![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
написал простенький метод ... проблема втом что вернуть надо несколько значений как это сделать ? или что можете посоветовать в место метода ... что то типа процедуры чтоб можно было вернуть несколько значений !!
|
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 10 Всего: 32 |
-------------------- I don't need a reason being who I am... |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
мне надо вернуть из метода несколько значений ... а в это коде я как понимаю не чего не возврашаеться !!
а я вот что подумал если все переменные сделать глобальными получить результат и нечего не возврашать а просто использовать перемены из метода ? |
|||
|
||||
SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: 4 Всего: 8 |
out -это модификатор параметра метода,метод ДОЛЖЕН приделить параметру значение которое потом вернется из метода. Ещё есть модификатор ref, который ДОЛЖЕН передат параметр как ссылочный тип в метод(аналог & в С++). Важно понять что С# различает две категории типов данных:типы значений-"value type" и ссылочные типы-"reference type"(ну а ещё для точности-казатели),от этого и зависит передача значений.А то что ты написал во втором своём посте по моему...
![]() Это сообщение отредактировал(а) SKrivosein - 17.4.2008, 03:00 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
еще вариант пихать все это (то что надо вернуть) в структуру (или класс,например) и делать ее типом возврата функции....
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 10 Всего: 32 |
Remiznik, что-то не пойму в чем проблема. Глянуть в МСДН пример использования ключевого слова out ?
-------------------- I don't need a reason being who I am... |
|||
|
||||
VisualProgrammerNET |
|
|||
![]() Почётный халявщик ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.10.2005 Где: Зеленоград Репутация: 1 Всего: 6 |
вариант QryStaL оптимален. Ещё можно возвращать массив.
-------------------- 3 ГОДА НА ![]() |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Важным условием тут является такой критерий, как связность возвращаемых значений:
1) если они являются набором(например, корни уравнения), то следует вернуть либо массив, либо коллекцию 2) если они принадлежат к одной сущности, то следует вернуть либо структуру, либо класс 3) если они никак не связаны, то следует возвращать их как out параметры... P.S. Кстати в связи с тяготением C# к функциональной парадигме программирования, я не удивлюсь, если в следующей версии появятся кортежи(tuples), тогда для третьего случая надо будет использовать именно их ![]() Добавлено через 3 минуты и 22 секунды
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
||||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Анонимные типы - это совсем не то же самое что кортежи, более того их даже и применить для реализации чего-нить похожего на кортежи очень сложно, если вообще возможно...
P.S. У тебя там ещё и ошибка в синтаксисе... -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
здела как ты написал только почемуто у меня компилятор говарит что нужно сначала опеределить переменые для метода но они у меня определены !
|
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 10 Всего: 32 |
Потому что переменные, обозначенные out, должны обязательно инициализироваться значениями перед выходом из метода. У тебя этого не происходит. Допиши в начало метода
-------------------- I don't need a reason being who I am... |
|||
|
||||
Remiznik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
спасибо заработало )) Это сообщение отредактировал(а) Remiznik - 24.4.2008, 12:14 |
||||
|
|||||
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 2 Всего: 17 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |