Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 80

Как вернуть значения из цикла?

20.05.2013, 01:04. Показов 6299. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вернуть значения из цикла? Например существует массив изображений "IM";
C#
1
2
3
4
5
6
7
8
9
10
11
public Image Izobrazhenie(bool Dlja_vseh, int Nomer = 0) 
{ 
       if (Dlja_vseh == true) 
       {  
              for (int i = 1; i <= Kolichestvo; i++) { return IM[i]; //Здесь ошибка } 
       } 
       else 
       { 
             return IM[Nomer]; 
       } 
}
Но здесь не возможно вернуть значения из цикла т.к. он вырубается ещё в начале. Существует ли замена "return"?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2013, 01:04
Ответы с готовыми решениями:

Как вернуть значение из цикла в выражение?
Даны натуральное число n, действительное число х. Вычислить формулу: Как вытащить значение m из цикла, чтоб вписать ее в формулу? ...

Тело какого из перечисленных операторов цикла выполняется как минимум один раз, независимо от значения параметра цикла
Оператор цикла, тело которого выполняется как минимум один раз независимо от значения параметра цикла: 1. WHILE 2. REPEAT 3. FOR X=A...

Как при считывании значения свойства последовательно и циклически вернуть значения элементов массива?
Напишите программу, в которой есть класс с целочисленным массивом и целочисленным свойством. При считывании значения свойства оно...

7
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.05.2013, 01:26
Возможно вам подойдет yield return.
C#
1
2
3
4
5
6
7
8
9
10
11
public IEnumerable<Image> Izobrazhenie(bool Dlja_vseh, int Nomer = 0) 
{ 
       if (Dlja_vseh == true) 
       {  
              for (int i = 1; i <= Kolichestvo; i++) { yield return IM[i]; //Здесь ошибка } 
       } 
       else 
       { 
             yield return IM[Nomer]; 
       } 
}
1
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 80
20.05.2013, 01:34  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Возможно вам подойдет yield return.
C#
1
2
3
4
5
6
7
8
9
10
11
public IEnumerable<Image> Izobrazhenie(bool Dlja_vseh, int Nomer = 0) 
{ 
       if (Dlja_vseh == true) 
       {  
              for (int i = 1; i <= Kolichestvo; i++) { yield return IM[i]; //Здесь ошибка } 
       } 
       else 
       { 
             yield return IM[Nomer]; 
       } 
}
А как в таком случае задать параметры? Например:
C#
1
Izobrazhenie(true).Source = new BitmapImage(new Uri(@"")); //Теперь здесь ошибка
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.05.2013, 01:47
я вас не понял, какие параметры и где вы их задавали/хотите задавать?

Добавлено через 12 минут
И что за ошибка?
И что происходит в коде который вы привели?
1
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 80
20.05.2013, 01:49  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
я вас не понял, какие параметры и где вы их задавали/хотите задавать?

Добавлено через 12 минут
И что за ошибка?
И что происходит в коде который вы привели?
У меня есть массив изображений, необходимо изменять параметры отдельных или всех изображений в массиве такие как: ширина, высота, путь и т.д. Для удобства решил попробовать сделать так как написал выше. Для отдельных изображений это работает:
C#
1
Izobrazhenija(false, 1).Width = 100; //Работает
Для всех нет т.к. завершается цикл:
C#
1
Izobrazhenija(true, 1).Width = 100; //Не работает
При ваших изменениях работает цикл, но получить доступ к свойствам "Image" я не могу.
Ошибка:
System.Collections.Generic.IEnumerable<S ystem.Windows.Controls.Image>" не содержит определения для "Width" и не был найден метод расширения "Width", принимающий тип "System.Collections.Generic.IEnumerable< System.Windows.Controls.Image>" в качестве первого аргумента.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.05.2013, 01:51
Потому что теперь поменялся тип возвращаемого значения у этого метода.
Раньше он возвращал Image, а теперь IEnumerable<Image>, то есть набор Image.
Вам нужно в коде который вызывает этот метод пробежаться по коллекции которую возвращает ваш метод.
1
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 80
20.05.2013, 01:56  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Потому что теперь поменялся тип возвращаемого значения у этого метода.
Раньше он возвращал Image, а теперь IEnumerable<Image>, то есть набор Image.
Вам нужно в коде который вызывает этот метод пробежаться по коллекции которую возвращает ваш метод.
А без IEnumerable<Image> теперь не обойтись, т.е. кроме "yield return" использовать для возврата свойств в цикле больше нечего?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.05.2013, 02:04
Можете, например, возвращать любую другую коллекцию - массив или список.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2013, 02:04
Помогаю со студенческими работами здесь

Как вернуть исходные значения?
Вот вопрос, который мучает меня не первый день: пусть мы имеем массив натуральных чисел от 1 до N, в котором числа не повторяются,...

Как вернуть 2 значения из функции?
Добрый день. У меня такой вопрос - как в этой проге можно вернуть 2 значения из функции? #include &lt;stdio.h&gt; #include...

как вернуть (вывести) 4 значения
подскажите пожалуйста, есть код, но что-то немогу разобраться с функцией, у меня она должна возвращать 4 значения (координат точек) а у...

Массивы. Найти максимальные и минимальные значения. В строках, где находятся искомые значения все значения обратить в ноль и вернуть номер строки
Всем привет! Вот такая задачка: Ввести двумерный массив 5х6. Найти максимальные и минимальные значения. В строках, где находятся искомые...

Как вернуть значения PHP в форму?
Привет, Есть index.php, где большая форма в которой множество элементов (text, radio, select, submit). Отправляю данные в check.php,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru