Помните - у вас есть (по крайней мере) два разных класса:
Таким образом, ваш реальный код должен выглядеть примерно так:
List<ZipCode> zipCodeList = new List<ZipCode>();
ZipCode aZipCode = new Zipcode(zipcode, city, state, lat, lon);
zipCodeList.add (aZipCode);
Ваша функция getZip () (где бы вы ни решили ее разместить) может выглядеть примерно так:
ZipCode myZip = someOtherObject.getZip (i);
Ключевым моментом является определение того, ЧЕМ являются ваши классы, и ЧТО каждый класс "несет ответственность" за выполнение. Остальное (включая вашу фактическую реализацию) следует.
Это может помочь написать простую диаграмму классов на листе бумаги: коробки с именем класса, основными методами и основными полями. Вроде как UML - только как простой , насколько это возможно.
Надеюсь, это поможет!
PS:
Я предположил, что ваш метод getZip () вернул весь объект ZipCode (широта, долгота ... вместе с "zipcode"). Возможно, вы вместо этого хотели использовать метод доступа только для «почтового индекса» (например, «90630»). В этом случае я бы порекомендовал что-то вроде этого:
List<ZipCode> zipCodeList = new List<ZipCode>();
zipCodeList.add ("90210", "Beverly Hills", "CA", "000000.00", "000000.00");
...
ZipCode zipCode = zipCodeList[0];
string zipcode = zipCode.getZipcode ();
string state = zipCode.getState ();
...