我有一個方法,返回一個通過解析文本文件創建的自定義類對象的數組。在我每次使用它的時刻,我正在重讀這個效率不高的文件。如何創建一個包含我的自定義類的靜態數組?
我所要做的是創建一個包含對象的數組,當頁面加載並將它們存儲在數組中時可以稍後使用。
的方法是:
public Album[] readArray(string sTextFilePath)
{
string[] allLines = File.ReadAllLines(Server.MapPath(sTextFilePath));
Album[] Albums = new Album[allLines.Length];
for (int i = 0; i < allLines.Length; i++)
{
string[] lineSplit = allLines[i].Split(',');
Albums[i] = new Album();
Albums[i].ID = Convert.ToInt32(lineSplit[0]);
Albums[i].title = lineSplit[1];
Albums[i].keyName = lineSplit[2];
}
return Albums;
}
和類很簡單,只需:
public class Album
{
public int ID { get; set; }
public string title { get; set; }
public string keyName { get; set; }
}
我以爲我可以使用類似的創建靜態對象:
static Album myAlbums[] = readArray("Albums.txt");
但我收到以下錯誤:
一個字段初始不能引用非靜態字段,方法或屬性「B2M._Default.readArray(字符串)」
我是新來的C#所以這可能是愚蠢的東西。 (隨意戳在我的大方向樂趣,如果是這樣的話!)
預先感謝任何幫助,
本
「錯誤」 == ...? – Svish 2010-01-06 12:38:11
@Svish:可能是'readArray()'不存在於靜態上下文中 – 2010-01-06 12:39:19