C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

Listクラス型 ファイルのクラス化 /maxi (17/12/26(Tue) 16:22) #86213
Re[1]: Listクラス型 ファイルのクラス化 /とっちゃん (17/12/26(Tue) 16:32) #86214
│└ Re[2]: Listクラス型 ファイルのクラス化 /とっちゃん (17/12/26(Tue) 16:34) #86215
Re[1]: Listクラス型 ファイルのクラス化 /WebSurfer (17/12/26(Tue) 19:41) #86216
│└ Re[2]: Listクラス型 ファイルのクラス化 /PANG2 (17/12/26(Tue) 22:07) #86217
│  └ Re[3]: Listクラス型 ファイルのクラス化 /ぶなっぷ (17/12/27(Wed) 11:25) #86218
Re[1]: Listクラス型 ファイルのクラス化 /shu (17/12/27(Wed) 14:08) #86219


親記事 / ▼[ 86214 ] ▼[ 86216 ] ▼[ 86219 ]
■86213 / 親階層)  Listクラス型 ファイルのクラス化
□投稿者/ maxi (6回)-(2017/12/26(Tue) 16:22:55)

分類:[C#] 

すごく大雑把な質問ですが、CSVファイルを1行ずつ読み込んでListに格納したいのですが、
問題にCSVファイルを読み込んでクラス化するとあります。

string型でソースを組めば、リストに格納できたのですが、クラス型の場合の使い方がわかりません

ネットでlist検索しても全部string型で書かれているので参考にするものもありません。


ソースコードもないので何を言っているかわからないと思いますが、CSVファイルを読み込んでクラス化がどういう意味か、何が目的か知りたいので、なにか参考になることを教えてください。
[ □ Tree ] 返信 編集キー/

▲[ 86213 ] / ▼[ 86215 ]
■86214 / 1階層)  Re[1]: Listクラス型 ファイルのクラス化
□投稿者/ とっちゃん (482回)-(2017/12/26(Tue) 16:32:04)
No86213 (maxi さん) に返信
> すごく大雑把な質問ですが、CSVファイルを1行ずつ読み込んでListに格納したいのですが、
> 問題にCSVファイルを読み込んでクラス化するとあります。
> 
> string型でソースを組めば、リストに格納できたのですが、クラス型の場合の使い方がわかりません
> 
> ネットでlist検索しても全部string型で書かれているので参考にするものもありません。
> 
> 
> ソースコードもないので何を言っているかわからないと思いますが、CSVファイルを読み込んでクラス化がどういう意味か、何が目的か知りたいので、なにか参考になることを教えてください。

CSVが例えば
1, "文字1"
2, "文字2"
...
というデータだった場合、

class Data
{
  public int Column1{ get; set; }
  public string Column2{ get; set; }
}
という感じのクラス(クラス名や、Column1, 2 に当たる部分は、ほかの情報などを使って適切な名前にする)を作り
それを List<Data> として格納すればいいのではないでしょうか?

[ 親 86213 / □ Tree ] 返信 編集キー/

▲[ 86214 ] / 返信無し
■86215 / 2階層)  Re[2]: Listクラス型 ファイルのクラス化
□投稿者/ とっちゃん (483回)-(2017/12/26(Tue) 16:34:54)
追記。

自動生成とか、汎用的なものということは想定していません。
提示の例はあくまでも、特定の並びのCSVのみを対象とする形を想定して、事前に手動生成することを前提条件として書いています。


CSVの1行をレコードデータとして考え、各フィールドをメンバーとすれば
おおむねクラスオブジェクトっぽいものにすることはできると思います。

あとは、そのオブジェクトにどんな役割を持たせるかによって、メソッドを定義してやればいいのではないかと。

[ 親 86213 / □ Tree ] 返信 編集キー/

▲[ 86213 ] / ▼[ 86217 ]
■86216 / 1階層)  Re[1]: Listクラス型 ファイルのクラス化
□投稿者/ WebSurfer (1412回)-(2017/12/26(Tue) 19:41:19)
No86213 (maxi さん) に返信

> 問題にCSVファイルを読み込んでクラス化するとあります。

「問題」とは何ですか?

学校の宿題とか研修の課題のようなものですか?
[ 親 86213 / □ Tree ] 返信 編集キー/

▲[ 86216 ] / ▼[ 86218 ]
■86217 / 2階層)  Re[2]: Listクラス型 ファイルのクラス化
□投稿者/ PANG2 (207回)-(2017/12/26(Tue) 22:07:08)
2017/12/26(Tue) 22:15:28 編集(投稿者)

1行分のデータを格納するクラスを用意して、そのListに読む込むということでしょうか?

CSVインポートをデザインパターンで実装してみる >google
※このURLが投稿できないので検索して下さい
[ 親 86213 / □ Tree ] 返信 編集キー/

▲[ 86217 ] / 返信無し
■86218 / 3階層)  Re[3]: Listクラス型 ファイルのクラス化
□投稿者/ ぶなっぷ (158回)-(2017/12/27(Wed) 11:25:01)
> 問題にCSVファイルを読み込んでクラス化するとあります。
問題の意味が分からないという話?
であれば、本筋は出題者に聞くべきでしょうね。

あくまで憶測で答えるなら、
CSVファイルの1レコードを、1クラスオブジェクトに展開し、
複数レコードでコレクション化するということを期待しているんじゃないかな。

以下のようなクラスを想定し、
class Test
{
    int IntNum;
    double DoubleNum;
    string Str;
}

CSVファイルは以下のような感じで、
  1, 1.23, "あいう"
  2, 2.34, "かきく"
  3, 3.45, "さしす"

読み込んだ結果を、
  List<Test>
に格納できていれば、出題者の期待通りなのでは?自信なし。

[ 親 86213 / □ Tree ] 返信 編集キー/

▲[ 86213 ] / 返信無し
■86219 / 1階層)  Re[1]: Listクラス型 ファイルのクラス化
□投稿者/ shu (1076回)-(2017/12/27(Wed) 14:08:59)
No86213 (maxi さん) に返信
> すごく大雑把な質問ですが、CSVファイルを1行ずつ読み込んでListに格納したいのですが、
> 問題にCSVファイルを読み込んでクラス化するとあります。
クラス化するというのは通常コーディング時に発生することであり実行時に発生することではありません。
この文が問題そのままならCSVファイルの内容より動的にクラスを作成するということになります。
『CSVファイルを読み込む処理をクラス化しなさい』
といった問題であればCSVファイル読込用のクラスを作成するということになります。


>
> string型でソースを組めば、リストに格納できたのですが、クラス型の場合の使い方がわかりません
string型もリストもクラス型です。


[ 親 86213 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -