加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 存储信息的一种方式

发布时间:2020-12-16 01:42:26 所属栏目:百科 来源:网络整理
导读:我正在使用Visual Studio制作控制台应用程序,编码正在编写(C#).该程序将成为一个基本的命令提示游戏. 所以,我正试图找到一种存储信息的方法.我对编码很新,所以我不知道我需要制作什么类型的文件.我只想要一种方法来存储名称和字符级别等内容,基本上是字符串
我正在使用Visual Studio制作控制台应用程序,编码正在编写(C#).该程序将成为一个基本的命令提示游戏.

所以,我正试图找到一种存储信息的方法.我对编码很新,所以我不知道我需要制作什么类型的文件.我只想要一种方法来存储名称和字符级别等内容,基本上是字符串和整数.

虽然,我不想使用“.txt”文件或类似的东西.我真的在寻找嵌入程序的东西.

感谢您抽出宝贵时间阅读我的问题;我很乐意回答您的任何进一步问题,以便我能够实现我正在努力的目标.

解决方法

完全错过了Florians的回答,但无论如何我发布了这个,因为你可能会从中学到一些东西,尽管它基本上是相同的答案.

[Serializable]
public class Player
{
    public string Name { get; set; }
    public int Level { get; set; }
    public Weapon Weapon { get; set; }
}

[Serializable]
public class Weapon
{
    public string Name { get; set; }
    public int MaxDamage { get; set; }
    public int Range { get; set; }
    public WeaponClass Class { get; set; }

    public enum WeaponClass { Sword,Club,Bow }
}

然后你可以像这样使用这些

var filename = @"c:tempplayer.xml";

var sword = new Weapon { Name = "Dáinsleif",MaxDamage = 42,Range = 1,Class = Weapon.WeaponClass.Sword };
var player = new Player { Name = "Fafhrd",Level = 19,Weapon = sword };

var ser = new XmlSerializer(typeof(Player));

var file = File.OpenWrite(filename);
ser.Serialize(file,player);
file.Close();

player = null;

file = File.OpenRead(filename);
player = (Player)ser.Deserialize(file);
file.Close();

XML:

<?xml version="1.0"?>
<Player xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>Fafhrd</Name>
  <Level>19</Level>
  <Weapon>
    <Name>Dáinsleif</Name>
    <MaxDamage>42</MaxDamage>
    <Range>1</Range>
    <Class>Sword</Class>
  </Weapon>
</Player>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读