小编spa*_*rca的帖子

抽象变量/属性?C#

我已经阅读了一些关于属性的内容,我不确定那是不是我想要的.基本上我有一个抽象的射弹类,所以所有"子弹"都有一个共同的实现,他们所附加的任何"武器"都可以使用.

我知道你可以声明一个抽象类并强制定义你在其中声明的函数.我想对变量做同样的事情(我认为,显然这个功能似乎不存在,所以也许我正在考虑解决方案错误)

我的问题是,由于所有"子弹"应该有一个损害,我想被迫在代码中声明子弹的伤害值.

可能存在这样一种情况:圆形枪来自电击枪并且它没有损坏,但我觉得我仍然应该因为2个原因而宣布它.

  1. 代码中的显式声明确实零损坏值得一行代码.你不必顺利,我猜它没有做任何事,因为它没有说明明确说明的损害.

  2. 调试(这是另一个是次要的主要原因)我想被迫,所以我不要忘记.我不想错误输入变量名称或忘记完全分配一个值并寻找半小时试图弄清楚为什么我的火箭或导弹或子弹或其他任何没有造成任何损害或正在做的正是1或金额我使用的最后一个抛射物或者我在抽象类中声明的浮点变量的默认值最终为.我想立即抛出一个错误告诉我,在我的新子弹受到伤害之前我无法继续.

c#

9
推荐指数
2
解决办法
2万
查看次数

我应该使用数组或arraylist/list <>

所以这是至少与你在Minecraft游戏中可能遇到的类似的东西.

基本上我有一个你反对的游戏,我想根据世界上的位置创建和销毁对象.

我觉得我应该使用数组,因为我可以对数组进行排序并通过执行来快速搜索它

array[spawnposition] = gameobject 
Run Code Online (Sandbox Code Playgroud)

当我创建一个对象来存储该对象时,它立即在该位置的正确排序的位置

然后当然使用精确的spawn位置来修改和删除.

问题是,甚至100 X 100 X 100区域是一个非常大的阵列.

所以我不确定如何最好地缓解这种情况.我认为它主要是问题的立方体,所以我认为如果我只是限制一个维度,我可以得到更多,但我很好奇像我的世界如何处理大规模的世界.

我确信他们部分地将数组分块并且可能创建数组数组以导航到正确的数组.

但是我想知道是否有一种更好的方法,例如使得空值可能不占用空间的东西.因此,只有当我为数组赋值时,它才能找到它的空间,因此非常大的数组实际上只有实际项目的数量一样大,不是潜在的,但仍然允许像实际数组一样快速访问.

基本上我会使用List作为动态的例子但是我会失去固定数组的索引器访问权限,这使得我可以非常快速地访问和检索内容而无需进行搜索.

c# arrays

0
推荐指数
1
解决办法
137
查看次数

标签 统计

c# ×2

arrays ×1