我有一個類,它存儲的數據在asp.net c#應用程序中永遠不會改變。我真的不想把這些數據放入數據庫 - 我希望它留在應用程序中。這裏是我的方式來存儲數據的應用程序:在C#中存儲靜態數據永遠不會改變的最佳方法是什麼
public class PostVoteTypeFunctions
{
private List<PostVoteType> postVotes = new List<PostVoteType>();
public PostVoteTypeFunctions()
{
PostVoteType upvote = new PostVoteType();
upvote.ID = 0;
upvote.Name = "UpVote";
upvote.PointValue = PostVotePointValue.UpVote;
postVotes.Add(upvote);
PostVoteType downvote = new PostVoteType();
downvote.ID = 1;
downvote.Name = "DownVote";
downvote.PointValue = PostVotePointValue.DownVote;
postVotes.Add(downvote);
PostVoteType selectanswer = new PostVoteType();
selectanswer.ID = 2;
selectanswer.Name = "SelectAnswer";
selectanswer.PointValue = PostVotePointValue.SelectAnswer;
postVotes.Add(selectanswer);
PostVoteType favorite = new PostVoteType();
favorite.ID = 3;
favorite.Name = "Favorite";
favorite.PointValue = PostVotePointValue.Favorite;
postVotes.Add(favorite);
PostVoteType offensive = new PostVoteType();
offensive.ID = 4;
offensive.Name = "Offensive";
offensive.PointValue = PostVotePointValue.Offensive;
postVotes.Add(offensive);
PostVoteType spam = new PostVoteType();
spam.ID = 0;
spam.Name = "Spam";
spam.PointValue = PostVotePointValue.Spam;
postVotes.Add(spam);
}
}
當調用構造函數上面的代碼是運行。我有一些功能可以查詢上面的數據。但這是在asp.net中存儲信息的最佳方式嗎?如果不是,你會推薦什麼?
我懷疑一個簡單的switch/case聲明平均而言會比使用鏈式三元運算符的性能稍微好一些,並且可讀性更高。 – 2010-05-27 13:23:08
如果你在struct定義中定義了一個嵌套的私有枚舉,並用它替換int字段,這可以更好地工作。或者,在結構中定義一堆int常量,以便幻數構造函數,ifs和開關情況更具可讀性。 – 2010-05-27 13:26:29
@Cameron,關於使用交換機的建議..不知道性能(通常,我只解決性能問題時的性能,但關於可維護性,可讀性和可擴展性等,Ternerys更簡潔,因此更具可讀性,以及更多的可擴展性(更少修改/重複)。本主題在這個論壇的其他帖子中大量討論。 – 2010-05-27 13:35:50