[英]C#: Reading enums from text file
我正在用C#和XNA制作2D游戲。 我目前正在保存和加載,所有數據都存儲在文本文件中。
每個精靈都有一個狀態:
public enum SpriteState
{
Alive,
Dead,
Chasing,
Sleeping,
Waiting
}
保存時,我只是執行以下代碼行:
StreamWriter.WriteLine(gameState);
現在,當我加載游戲時,我必須閱讀文本文件的這一行,將其存儲在字符串變量中,並執行以下操作:
string inType = StreamReader.ReadLine();
if(inType == "Alive")
//Set the sprites state to alive
else if(inType == "Dead")
//Set the sprites state to alive
依此類推...所以我的問題是:是否有更好的方法從文本文件中讀取枚舉類型並進行分配?
非常感謝
您正在尋找
(SpriteState) Enum.Parse(typeof(SpriteState), inType)
這會將字符串解析為枚舉值。
您可能還希望擁有Dictionary<SpriteState, Action<...>>
將狀態映射到采取適當操作的委托(lambda表達式)。
嘗試這個:
Enum.Parse(typeof(SpriteState), yourString);
您也可以使用以下方法:
public static T ParseEnum<T>(string value)
{
return (T)Enum.Parse(typeof(T), value, true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.