c# - C# 对象选择和操作
问题描述
我的目标是:
创建多个对象(在我的例子中是村庄)并具有一些我想经常更改的属性。
我用变量创建一个对象的当前状态是什么。
那么现在有什么问题呢?
我创建了一个可更改的名称(默认:“village00”+i)和名称为“BigBadCity”的村00(静态 ID)。
但我现在想将对象(可能是农场)的特定变量更改为 +1 级。那么如何选择要更改变量的村庄?
信息
我班的代码
namespace CS_DieStaemme
{
class villageObjekt
{
//Default constructor
public villageObjekt()
{
str_villageCount = "village";//count all villages
str_name = "village"; //default name
sho_points = 0; //Start points
byt_cord_X = 0; //default cords x (need to change later)
byt_cord_Y = 0; //default cords y (need to change later)
sho_wood = 0;
sho_clay = 0;
sho_iron = 0;
byte_mainBuilding = 1;
byte_storage = 1;
byte_farm = 1;
byte_church = 0;
byte_casern = 0;
byte_stable = 0;
byte_workshop = 0;
byte_statue = 0;
byte_market = 0;
}
//Default constructor
public villageObjekt(
byte village_byt_villageCount,//village count
byte village_byt_cord_X, //Village cord x (ex. 245)
byte village_byt_cord_Y /*Village cord y (ex. 632)*/)
{
str_villageCount += village_byt_villageCount; //count up village
byt_cord_X = village_byt_cord_X; //set cords
byt_cord_Y = village_byt_cord_Y; // set cods
}
//Member variables
public string str_villageCount;
public string str_name; //Village name (ex. village012)
public short sho_points; //Village points (ex. 567pt)
private byte byt_cord_X; //Village cord x (ex. 245)
private byte byt_cord_Y; //Village cord y (ex. 632)
//Production variables
public short sho_wood;
public short sho_clay;
public short sho_iron;
//Buildings variables
public byte byte_mainBuilding;
public byte byte_storage = 1;
public byte byte_farm = 1;
public byte byte_church = 0;
public byte byte_casern = 0;
public byte byte_stable = 0;
public byte byte_workshop = 0;
public byte byte_statue = 0;
public byte byte_market = 0;
}
}
解决方案
您可以将所有村庄存储在列表中var villages = new List<villageObjekt>();
,然后选择并编辑您想要的村庄:
var villageName = "<Insert the name of the village you want to edit>";
var villageToEdit = villages.First(v => v.str_name == villageName);
//edit the village
villageToEdit.byte_farm++; //farm level-up
villageToEdit. ...
使用此列表,您必须将一个村庄添加到列表中,villages.Add(village);
或者在该列表中创建一个村庄 villages.Add(new villageObjekt());
。
推荐阅读
- c - 为什么可以将未初始化的变量地址传递给函数的指针参数
- c# - 我正在尝试退出方法,但收到 CS0219 警告
- android - FFmpeg / libmp3lame 使用颤音从 .wav 转换为 .mp3 时崩溃
- android - 同一片段的多个实例:Android 导航组件
- python - 是否可以根据节点大小更改字体大小?
- wordpress - 如何为 woocommerce 订单添加额外的唯一参考号
- php - 我可以作为免费/试用用户在本地运行 suger CRM 吗?
- meteor - 如何允许相同的用户名但不同的公司注册?
- android - 使用 Android BLE(蓝牙低功耗)计算距离
- stata - Stata duplicates drop with case insensitivity