Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 577

Многомерный массив как на php

31.12.2014, 20:44. Показов 1856. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать типа такого массива:
C#
1
2
3
4
5
6
string[] Arrik = {
                "Array1"->"Name"->"Алексей",
                "Array1"->"Age"->"13",
                "Array1"->"City"->"Moscow",
                
            };
И обращатся можно было так:
C#
1
2
3
Arrik['Array1']['Name']; // вернет имя
Arrik['Array1']['Age']; // вернет возраст
Arrik['Array1']['City']; // вернет город
На пхп так работает... А как на C# так же сделать, я знаю мой код выше неправильный, но покажите как правильно будет ???
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.12.2014, 20:44
Ответы с готовыми решениями:

PHP. Многомерный ассоциативный массив
Друзья! Дан многомерный ассоциативный массив (представлен ниже), необходимо произвести сортировку массива и отобразить все данные....

Многомерный ассоциативный массив - PHP
Уважаемые программисты! Пожалуйста, помогите решить данную задачу. Есть массивы $country = array('Russia', 'Italy', 'France'); ...

Добавление массива в многомерный массив (не элемента в многомерный массив)
Доброго времени суток уважаемые форумчане! Столкнулся с такой проблемой: требуется в многомерный массив добавить другой ассоц. массив...

6
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
31.12.2014, 21:08
Лучший ответ Сообщение было отмечено FreeZon как решение

Решение

Я бы написал так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
 
namespace n
{
    struct TestStruct
    {
        public string name;
        public int age;
        public string city;
 
        public TestStruct(string name, int age, string city) : this()
        {
            this.name = name;
            this.age = age;
            this.city = city;
        }
 
        public static TestStruct Add(string name, int age, string city)
        {
            return new TestStruct(name,age,city);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            TestStruct[] arr = new TestStruct[]
            {
                TestStruct.Add("Jack",18,"London"),
                TestStruct.Add("Sam",22,"New-York"), 
            };
          int age= arr[0].age;
            Console.WriteLine(age);
        }
 
      
    }
}
2
Warrior
 Аватар для _exp10der_
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
31.12.2014, 21:24
ну сделать класс обертку распарсить строку определить свой индексатор
http://msdn.microsoft.com/ru-r... 9tw02.aspx


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
 
class Sample2
{
    internal string[] arrr = { "one", "two", "three", "drink" };
 
}
 
class SampleCollection<T>
{
 
    private T[] arr = new T[100];
    private Sample2 tSample2 = new Sample2();
 
    public string[] this[T i]
    {
        get
        {
 
            return tSample2.arrr;
        }
 
    }
}
 
class Program
{
    static void Main(string[] args)
    {
 
        var stringCollection = new SampleCollection<string>();
        Console.WriteLine(stringCollection["t"][0]);
        Console.WriteLine(stringCollection["t"][1]);
    }
}
логику думаете сами))) так чисто велосепед

хотя может проще строить связанный список из каких то словарей
или строить может через деревья выражений хз
1
Заблокирован
31.12.2014, 21:48
FreeZon, так можно:
C#
1
2
3
4
5
6
7
8
            Dictionary<string, Dictionary<string, string>> q
                = new Dictionary<string, Dictionary<string, string>>();
 
            q.Add("Array1", new Dictionary<string, string>()
            {
                {"Name","Алексей"}, {"Age","13"}, {"City","Moscow"}
            });
            Console.WriteLine(q["Array1"]["Name"]);
Только я бы рекомендовал использовать класс или структуру, как предлагает kypiwindy
3
 Аватар для FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 577
31.12.2014, 22:37  [ТС]
Что ж в C# так все сложно то а... в PHP и то легче.
0
 Аватар для FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 577
02.01.2015, 12:40  [ТС]
Цитата Сообщение от kypiwindy Посмотреть сообщение
Я бы написал так
Нашел ответ только он на индексах =(:
C#
1
2
string[,] numbers3 = new string[,] { { "Name", "Алексей" }, { "Age", "13" }, { "City", "Moscow" } };
            textBox1.Text = numbers3[0,1]; // выведет Алексей
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
02.01.2015, 12:49
FreeZon, для каких целей вам нужен именно такой массив?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2015, 12:49
Помогаю со студенческими работами здесь

Как добавить строковый массив в многомерный массив типа дабл
Добрый день! Есть такая проблема, никак не получается добавить строковый массив в многомерный массив типа double т.е. double...

Как переписать многомерный массив(матрица) с изменениями в новый массив
Здравствуйте, есть у меня двумерный массив. Если быть точнее то это матрица $maitrix = , //нумерация массивов начинается с 1 ...

Как создать многомерный массив?
Подскажите, пожалуйста, возможно ли задать многомерный массив в С, если заранее (на момент написания кода) не известно точное число...

Как создать многомерный массив?
типа Dim aArr ( C 20ю размерностями )?

Как разобрать многомерный массив?
Привет вот есть такой массив как его разобрать? я пытаюсь так но он не все уровни разбирает


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru