我正在使用Model
,並使用enum
獲取已命名項目的列表。Enum適用於此?
class Verse
{
public int Number { get; set; }
public string Text { get; set; }
}
class Chapter
{
public int Number { get; set; }
public List<Verse> Verses { get; set; }
}
class Book
{
public string Name { get; set; }
public List<Chapter> Chapters { get; set; }
}
class Bible
{
public Versions Version { get; set; }
public List<Book> Books { get; set; }
}
enum Versions
{
asv1901,
bbe,
darby,
kjv,
nasb,
niv,
nkjv,
nlt,
rsv,
web,
ylt
}
這似乎是做一個合乎邏輯的方式,但我發現,與enum
工作時增加不必要的困難。
foreach (var chapter in chapters)
{
var bibleitem = new Bible();
bibleitem.Version = (Versions)Enum.Parse(typeof(Versions), chapter.version);
}
會更有意義只使用string[]
什麼?我確信enum
有一些額外的好處,但我質疑我的好處。
什麼類型是你的'chapters'收藏? –
'enum'比較'string'比較效率更高,enums用於編碼的清晰度。幫助你快速理解你的代碼。 – Media
您可以改爲使用通用['TryParse'](https://msdn.microsoft.com/en-us/library/dd783499(v = vs.110).aspx)。 '版本ver; Enum.TryParse(chapter.version,out ver); bibleitem.Version = ver;' – juharr