Мне нужно передать список дней (число и имя) на представление!Массив или общая коллекция?
Каков наилучший способ сделать это?
Я думал о создании общей коллекции, но не уверен, как это сделать? или массив?
Мне нужно передать список дней (число и имя) на представление!Массив или общая коллекция?
Каков наилучший способ сделать это?
Я думал о создании общей коллекции, но не уверен, как это сделать? или массив?
Dictionary<string, int> days = new Dictionary<string, int>();
days.Add("Sunday", 1);
...
Для чего-то вроде этого вы можете использовать словарь ... простые пары ключ/значение
Dim d as New Dictionary(Of Integer, String)
d.Add(0,"string2")
' etc
Если бы я был только эти 2 варианта, я хотел бы использовать массив.
Поскольку массив неизменен. Вы не можете случайно «добавить» или «удалить» то, что должно быть в представлении. Это своего рода защитное программирование.
И вы все еще можете использовать foreach
просто отлично .... так почему же коллекция? нет необходимости вообще.
Вы действительно должны использовать IEnumerable<T>
. Добавьте List<T>
в ViewData, а затем бросьте его как IEnumerable<T>
с другой стороны.
Почему не перечисление?
enum days
{
Monday = 1,
Tuesday = 2
...
}
есть перечисление в самой структуре для этого: DayOfWeek – Colin
Массивы изменяемы. Вы можете использовать List.AsReadOnly, чтобы получить представление только для чтения списка для отправки в другом месте. –
@Ben Lings Массив неизменен, когда используется * нормальным * способом. Я не сказал, что объекты, содержащиеся в массиве, не являются неизменными. И автор запрашивает либо Collection *, либо * массив ... как я сказал в первом предложении .... – chakrit
Массивы являются постоянной длиной, но имеют изменяемые элементы. –