皆さんの助けを借りて、.txt ファイルからデータベースをロードし、リストに値を入力するこのコードを思いつきました。ただし、実際にリストを使用して値を取得するのに少し問題があります。私のProgram.csのコードはこちら
static class Program
{
var customers = new List<Customer>();
static void loadData() //Load data from Database
{
string[] stringArray = File.ReadAllLines("Name.txt");
int lines = stringArray.Length;
if (!((lines % 25) == 0))
{
MessageBox.Show("Corrupt Database!!! Number of lines not multiple of 25!");
Environment.Exit(0);
}
for(int i = 0;i<(lines/25);i++){
customers.Add(new Customer
{
ID=stringArray[(i*25)],
Name = stringArray[(i * 25) + 1],
Address = stringArray[(i * 25) + 2],
Phone = stringArray[(i * 25) + 3],
Cell = stringArray[(i * 25) + 4],
Email = stringArray[(i * 25) + 5],
//Pretend there's more stuff here, I'd rather not show it all
EstimatedCompletionDate = stringArray[(i * 25) + 23],
EstimatedCompletionTime = stringArray[(i * 25) + 24]
});
}
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
loadData();
Application.Run(new Form1());
}
}
および class1.cs のコード - Customer クラス
public class Customer
{
public string ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Cell { get; set; }
public string Email { get; set; }
//Pretend there's more stuff here
public string EstimatedCompletionDate { get; set; }
public string EstimatedCompletionTime { get; set; }
}
しかし、EDIT (form2.cs から) から値を取得しようとすると、customers[1].ID
「この現在のコンテキストには顧客が存在しません」というメッセージが表示されます。どこからでもアクセスできるように顧客に宣言するにはどうすればよいですか?
ありがとう!:)