c# - 无法使用保存的信息加载到数组中
问题描述
我已经设法将一些信息保存到一个文件中。我希望能够阅读该信息并使用它来创建一个项目
public void Save()
{
StreamWriter writer;
writer = new StreamWriter("PlayerInventory.txt");
for (int i = 0; i < playerInventory.Length; i++)
{
if (playerInventory[i] != null)
{
if (playerInventory[i] is Sheild sheild)
{
writer.WriteLine("Sheild:" + sheild.Defence + "," + sheild.name + "," + sheild.description + "," + sheild.cost);
}
}
}
else
{}
}
我开始使用此代码来加载它,但我不知道如何完成代码。现在它的分裂,但我不知道如何将它分配给任何东西。
例如sheild:20,Shield,this is a shield,100
现在它分为
- 20,
- 盾,
- 这是一个盾牌,
- 100
但我不知道谁将这些东西分配给数组
public void Load()
{
StreamReader reader;
reader = new StreamReader("PlayerInventory.txt");
string line;
string[] currentLineData;
while (true)
{
try
{
line = reader.ReadLine();
if (line == null)
{
break;
}
if (line.Contains("Sheild"))
{
line.Replace("Sheild:", "");
currentLineData = line.Split(',');
}
}
catch
{
break;
}
}
reader.Close();}
解决方案
看起来你正在设计一个游戏。
如果我要设置一个包含带有统计信息的盾牌的库存,我会考虑创建一个复杂的数据类型,对库存项目使用“结构”。
然后我会创建一个库存结构项目数组,每个库存插槽都有一个 - 在加载我的文件之前。
这可以包含您需要的所有不同信息,这些信息可以存储在库存中的任何项目,如项目名称、防御强度、攻击强度等。
然后,当你加载你的文件时,所有正确的东西都会放在名字好听的地方,以便你以后轻松找到它们。
如果您需要额外的统计信息,请在您的结构定义中添加一行,然后在您的文件中添加一列,您就可以开始了。
推荐阅读
- jquery - 使用 Jquery UI 排序除前三个单元格外的表行排序
- count - Tableau:CountD OR Bins 的计数与条件
- python - 如何将此事件转换为适当的状态命令,当它添加到公会时循环其状态以更新?不和谐.py
- mysql - MySQL 行丢失但得到 .MYD 文件
- chart.js - 即使添加新数据集,如何保持条形大小相同
- c - 为什么这个 c 程序中没有通过测试用例?
- here-api - 调用“https://wse.ls.hereapi.com/2/findsequence.json”时出现“TooManyRequests”错误。这里-api
- powerapps - 如何在powerapps公式栏中链接两个公式?
- wordpress - Aavance 自定义字段无法隐藏我的页面内容编辑器
- html - 容器没有响应“justify-content: space-around”(css、flexbox)