我有零件的枚举列表中的特定位置的内容:试图告诉枚举字符是在一个字符串
public enum Parts
{
Wall = (int)'#',
Empty = (int)'-',
Player = (int)'@',
Goal = (int)'.',
Block = (int)'$',
BlockOnGoal = (int)'*',
PlayerOnGoal = (int)'+'
};
而且我有一个字符串
string Level = "####\n# #\n#@ #\n####";
所以所有的项目中字符串是在枚举列表 如果我再调用函数
public Parts WhatsAt(int row, int column)
{
return Parts.Wall;// Teachers comment but idk what he means "WRONG - but now no exception! should look up Level or some better data structure"
}
所以当调用该函数将将字符串拆分为\ n,然后将输入用作地图上的坐标来精确定位其中的特定字符。
左上方行:0,列:0
右下侧排:4,列:4
####
# #
#@ #
####
我如何再使函数返回什么部件名称是在指定给坐标。
例如
Parts actual = WhatsAt(0, 2);
实际然后会成为华尔街的那是什么#中的枚举意味着
感谢所有帮助提前
那么,一旦你有一个字符(采用分体式,[]和子),你*会*投你的性格为int,并然后将其转换为您的枚举类型,但这将是一个黑客(因为您假设枚举值等于字符值)。一个更好的数据结构将是一个'Dictionary'将字符映射到零件。 –