C#从streamreader中读取多个配置文件,并给出输出
问题描述:
我一直在研究一个程序,随着游戏我和我的一些朋友一起玩,到目前为止我所做的所有事情都是使界面,我想要的界面提前帮助,因为我知道不需要它。我想制作一个GUI,从文本文件中读取一个字符的数据,用它填充文本框,并能够用两个框执行方程式,然后通过点击下一步从该文本文件移动到另一个字符。在数据读取 样品是: InterfaceC#从streamreader中读取多个配置文件,并给出输出
Hark <- new character
5
2
6
40.0
12.00
Caro <- new character
6
1
8
38.0
10.00
Ethan <- new character
4
5
42.0
15.00
(以上是不实际的代码,它是如何贴) 因此,“名”到“字符NUM”会刚刚data.Readline填充() ;来自阅读器,但是HP和护甲需要一起计时才能获得比率(击中计算比例按钮),所有数据从名称到比例都将放在按钮下方的文本框中,下一个按钮将循环到下一个按钮字符。 任何帮助将不胜感激,在此先感谢。
答
我可能会做一个File.ReadAllText(或类似的东西)成一个字符串。这样你释放文件句柄。然后,您可以遍历从文件中读取的字符串中的字符,并执行任何您想要的操作。
答
用XML序列化/反序列化来做它会容易得多。
下面是一个完整的演示。它创建两个字符的列表,将其序列化为XML,然后将其反序列化为新的列表。这至少会照顾到它的存储方面。
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
namespace XmlDemo
{
public class CharacterAttributes
{
public string Name { get; set; }
public int Strength { get; set; }
public int Dexterity { get; set; }
}
class Program
{
static void Main(string[] args)
{
var characters = new List<CharacterAttributes>
{
new CharacterAttributes
{
Name = "Throgdor the Destroyer",
Strength = 5,
Dexterity = 10
},
new CharacterAttributes
{
Name = "Captain Awesome",
Strength = 100,
Dexterity = 9
}
};
SerializeToXML(characters);
var charactersReloaded = DeserializeFromXML(@"C:\temp\characters.xml");
}
static public void SerializeToXML(List<CharacterAttributes> characters)
{
var serializer = new XmlSerializer(typeof(List<CharacterAttributes>));
var textWriter = new StreamWriter(@"C:\temp\characters.xml");
using (textWriter)
{
serializer.Serialize(textWriter, characters);
textWriter.Close();
}
}
public static List<CharacterAttributes> DeserializeFromXML(string path)
{
var serializer = new XmlSerializer(typeof(List<CharacterAttributes>));
var textReader = new StreamReader(path);
var deserializedCharacters = new List<CharacterAttributes>();
using (textReader)
{
deserializedCharacters = serializer.Deserialize(textReader) as List<CharacterAttributes>;
}
return deserializedCharacters;
}
}
}
是什么问题? – BrokenGlass 2011-06-05 03:50:44
只是有关如何做到这一点的任何建议。我知道如何从1个字符读取数据,但不能读取多个字符。 – Mark 2011-06-05 03:54:22
只是一个念头:将数据存储在一个XML结构中,然后加载到一个XmlDocument中......可能会过度杀伤.... – 2011-06-05 04:11:12