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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2013, 21:42   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию очень простой вопросик foreach

очень простой вопросик foreach))

Код:
List<Rectangle> ListR = new List<Rectangle>();
...
foreach (var block in ListR)
{
      block.X += 10; //<как присвоить к  block-ам значение??? может есть специальная коллекция? подскажите>
}

Последний раз редактировалось Madmaxisss; 02.04.2013 в 21:49.
Madmaxisss вне форума Ответить с цитированием
Старый 02.04.2013, 21:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По-моему в foreach значения только для чтения.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.04.2013, 21:45   #3
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

пробовал через for тоже не получается, как выйти с положения?
Madmaxisss вне форума Ответить с цитированием
Старый 02.04.2013, 22:36   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
По-моему в foreach значения только для чтения.
Да ладно?!
Код:
    public class Rectangle {
        public double X { get; set; }
        public double Y { get; set; }
    }

        static void Main(string[] args)
        {
            List<Rectangle> l = new List<Rectangle>();

            l.Add(new Rectangle());
            l.Add(new Rectangle());
            l.Add(new Rectangle());

            foreach (var r in l) {
                r.X += 10;
                Console.WriteLine("{0},{1}", r.X, r.Y);
            }
        }
Всё работает как часы. Хорошо бы ТС расшифровал своё "не получается" - программа что, вылезает из монитора и с хохотом убегает в закат?
Abstraction вне форума Ответить с цитированием
Старый 02.04.2013, 23:25   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

что такое Rectangle у автора? и что такое в нем Х..
eval вне форума Ответить с цитированием
Старый 03.04.2013, 13:29   #6
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

eval,
Цитата:
что такое Rectangle у автора? и что такое в нем Х..
http://msdn.microsoft.com/ru-ru/libr...rectangle.aspx

Abstraction, Невозможно изменить члены "r" поскольку он является переменной цикла foreach. Но в консольном варианте оно работает на ура

Я так сделал:
Код:
for (int i = 0; i < ListR.Count(); i++)
                    {
                        Rectangle R = ListR[i];
                        R.X += 10;
                        ListR[i] = R;
                    }
И меня терзает вопрос: Почему в консольном foreach работает?

ааа точно Rectangle это же структура))) ммм. класс работает а структура нет, Ху..я какая-то))

Последний раз редактировалось Stilet; 03.04.2013 в 14:29.
Madmaxisss вне форума Ответить с цитированием
Старый 03.04.2013, 13:56   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

структура это value type
eval вне форума Ответить с цитированием
Старый 03.04.2013, 14:03   #8
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Цитата:
труктура это value type
да да да вот он ответ:
Структуры являются типами значений, а классы — ссылочными типами.
Madmaxisss вне форума Ответить с цитированием
Старый 03.04.2013, 17:54   #9
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

Может попробовать создать List<класс>. В каждом объекте класса будут храниться свойства rectangle?
acteralex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
очень простой вопрос :) peq Microsoft Office Excel 3 21.10.2009 13:06
Очень простой вопрос zgest Общие вопросы C/C++ 8 06.05.2009 20:29
Очень нужна помощь! Нужно найти ошибку в очень простой программе. Lex55555777 Помощь студентам 3 07.12.2008 20:32
простой вопросик с++ alexs2141 Помощь студентам 5 06.06.2008 22:45
Очень простой вопрос Kivin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 03.02.2007 11:45