Вопрос, который вы должны задать себе о многомерном массиве: «Может ли другой программист посмотреть на него и понять, что происходит?»
Является ли компактнее?Может быть, может и нет.Все зависит от кода.По правде говоря, если вы не имеете дело с очень низкими требованиями к памяти, это, вероятно, не имеет значения.Подумайте об этом так, скажем, что каждый часовой пояс занимает четыре байта (размер целого числа).Наличие записи для каждого часового пояса означает, что вы использовали 50 х 4 = 200 байт.Недостаточно беспокоиться о том или ином способе.
Я бы изменил это, потому что через 6 месяцев у вас, вероятно, будут трудности с пониманием того, что он делает.Читаемость и ремонтопригодность важны почти во всех ситуациях.
, поэтому, возможно, пример:
class State
{
public State (string stateId, int timeZoneOffset)
{
StateId = stateId;
TimeZoneOffSet = timeZoneOffset;
}
public String StateId {get;set;}
public int TimeZoneOffest {get;set;}
}
public class StatesAndTerritories
{
List<State> _states = new List<State>
public StatesAndTerritories ()
{
//_state.Add state information here
_state.Add(new State("AZ", -6); ......
}
public IEnumerable<State> GetStates (){
return _state;
}
public IEnumerable<State> GetStatesInZimeZone(int timezone)
{}
etc..
}