前提・実現したいこと
CSVファイルを読み込み、名前を入力すると配列化されたデータが画面に表示されるようにしたい。
発生している問題・エラーメッセージ
リスト化が正しくできているのか、確認しようとしたところ
「型 'string[]' を 'string' に暗黙的に変換できません」と表示される
そのままの意味だとは理解しているのですが、リスト化した配列をどのようにすれば引き出せるのかがわかりません。
また名前を入力すると住所や電話番号が画面表示されるようにしたいのですが、いい案が思いつかず行きどまっております。
該当のソースコード
c#
public partial class Form1 : Form
{
public static List<string[]> csvData = new List<string[]>();
public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // csv読込み LoadCsv(); } public void LoadCsv() { try { // csvファイルを開く using (var sr = new System.IO.StreamReader(@"test.csv")) { //ヘッダを読み捨てる。 sr.ReadLine(); // ストリームの末尾まで繰り返す while (!sr.EndOfStream) { // CSVファイルの一行を読み込む string line = sr.ReadLine(); // 読み込んだ一行をカンマ毎に分けて配列に格納する string[] record = line.Split(','); // リストに追加 csvData.Add(record); textBoxName.Text = csvData[1]; //test表示 //エラー } } } catch (System.Exception e) { // ファイルを開くのに失敗したとき MessageBox.Show("ファイルの読み込みに失敗しました。", "エラー", MessageBoxButtons.OK,MessageBoxIcon.Error); } }
試したこと
クラスを作ってみる(クラスに入れてみようと思いましたが「アクセスできない保護レベルになっています」とエラーが出てきてしまい、余計わからなくなってきたのでとりあえずこの中でデータ保持し、画面表示する際に必要なデータだけクラスに入れ画面表示させる方向です。)
配列化し、それを表示させることはできたのですが、全部のデータをロード時に保持したいためリスト化しました。
しかしリスト化した後の表示ができません。(ちゃんとリスト化できてるのかもわかりません)
補足情報
回答3件
あなたの回答
tips
プレビュー