そのため、テキストファイルを Windows フォームにロードすることについて読んだほとんどのことは、それを単一次元の文字列配列にロードすることを示しています。しかし、それが 2 次元配列であれば、よりうまく機能するようにしたい機能がいくつかあります。この例では、ISBN、著者、タイトル、年、価格の本のカタログがあります。最も高価な本と最も安価な本に関するデータをコンパイルできるようにしたい (これは、ユーザー エントリ用に持っている配列から既に実行できます)、タイトル、isbn などで配列を検索できるようにしたいと考えています。また、複数列のリストビューに表示しています。
テキストファイル (改行で区切られた新しいレコードで、タブ ('\t') で区切られている) を読み込んで、複数列のリストビューに表示するために私が持っているものは次のとおりです。これを 2D 配列にロードするにはどうすればよいですか? どのように表示しますか?どんな助けでも素晴らしいでしょう。
static FileStream textFile = new FileStream("booklist.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
StreamReader reader = new StreamReader(textFile);
StreamWriter writer = new StreamWriter(textFile);
const char DELIM = '\t';
//string[] booksTextArray;
string line = "";
string[] items;
ListViewItem listItem;
// the load button
private void LoadButton_Click(object sender, EventArgs e)
{
// loads text file with existing book catalog
while((line = reader.ReadLine()) != null)
{
items = line.Split('\t'); //Split the line.
listItem = new ListViewItem(); //"Row" object.
for (int i = 0; i < items.Length; i++)
{
if (i == 0)
{
listItem.Text = items[i]; //First item is not a "subitem".
}
else
{
listItem.SubItems.Add(items[i]); //Add it to the "Row" object.
}
}
listView1.Items.Add(listItem); //Add the row object to the listview.
status_label.Text = "Load successful.";
}
}