Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Объединить две переменных в одну


Автор: NAGGANO 10.12.2010, 18:26
можно ли на C# объединить названия двух целых переменных в одно?
например есть int a и int b и из них получить int ab ?
у меня такая функция:
Код

private void BuildBricks(int lvl) //lvl - текущий уровень игры
        {
            for (int i = 0; i < a; i++)
            {
                for (int j = 0; j < b; j++)
                {
                    if (Level1.[j, i] == 1) //Level1,Level2  и т.д. - массивы(в них хранятся уровни для игры)
                    {
                        ..
                    }
                    ..
                }
            }
        }

вот мне надо в зависимости от того какой уровень подключать необходимые массивы Level1,Level2 или Level3  и т.д.
если исп-ть switch то слишком много одного и того же писать придется-проверки и т.п.
вот и интересно можно ли из Level и lvl сделать Levellvlv (Level1 например) ?

Автор: NAGGANO 10.12.2010, 18:53
так решил проблему:
Код

for (int i = 0; i < a; i++)
            {
                for (int j = 0; j < b; j++)
                {
                    if (_Levels[lvl][j,i] == 1)
                    {
                        ..
                    }
                   ..
                }
            }

_Levels - одномерный массива массивов, состоящего из двумерных элементов различного размера

Автор: Экскалупатор 10.12.2010, 20:37
а для чего это? может можно придумать что то более оптимальное?

Автор: NAGGANO 10.12.2010, 20:58
для моей задачи мне кажется это самый оптимальны, так как не надо будет писАть много лишних проверок.switch юзать тоже не вариант.проверять lvl и в зависимости от него вызывать разные матрицы,но делать с ними одно и тоже нет смысла,если можно написать так, как я написал код
конечно если есть варианты-я слушаю)
матрицы так объявил и все:
Код

private int[][,] _Levels = new int[3][,] 
        {
            new int[,] 
            {
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1},
                {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0},
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1},
                {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0},
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}
            },
            new int[,] 
            {
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1},
                {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0},
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1},
                {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0},
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}
            },
            new int[,] 
            {
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1},
                {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0},
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1},
                {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0},
                {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}
            }
        };

Автор: A5uKa 10.12.2010, 21:51
http://msdn.microsoft.com/ru-ru/library/dd383325.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)