【发布时间】:2009-08-13 12:18:58
【问题描述】:
我需要一个简单的结构来存储基于边的多边形名称......例如1 边是“monogon”,2 边是“digon”,3 边是“三角形”,依此类推(最多 12 边)
存储这些并在代码中动态重用它们的最简单方法是什么?例如如果我的 polygonShape 类的边数为 3,它应该返回“Triangle”作为名称(这是在类中声明的属性)(我使用的是 Obj-c)。我想到了3个选项
1。枚举
typedef enum {monogon = 1, digon, triangle, ...}
但后来意识到这与我需要的相反。他们实际上会将我的数字编码为字符串。我需要从数字中获取名称。
2。 switch-case 语句 - 作为接近的选择
3。数组 - 然后我想可能是使用数组,它们的索引映射到字符串
不知何故,我觉得我可能在数组的“过于简单而不真实”的解决方案中遗漏了一些东西。
任何意见表示赞赏。
【问题讨论】:
-
“三角形”不应该是“三角形”吗? :)
-
是的 :) ... en.wikipedia.org/wiki/Polygon
标签: objective-c data-structures enums switch-statement