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

わんくま同盟

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

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

ツリー一括表示

ファイル /apo (19/05/15(Wed) 10:13) #90958
Re[1]: textreaderでテキストファイルを読み込む方法 /Hongliang (19/05/15(Wed) 10:26) #90959
  └ Re[2]: textreaderでテキストファイルを読み込む方法 /apo (19/05/15(Wed) 10:31) #90960
    └ Re[3]: textreaderでテキストファイルを読み込む方法 /魔界の仮面弁士 (19/05/15(Wed) 10:38) #90961
      └ textreaderでテキストファイルを読み込む方法 /apo (19/05/15(Wed) 10:51) #90962
        ├ Re[5]: textreaderでテキストファイルを読み込む方法 /魔界の仮面弁士 (19/05/15(Wed) 11:18) #90966
        └ Re[5]: textreaderでテキストファイルを読み込む方法 /Hongliang (19/05/15(Wed) 10:58) #90964
          └ Re[6]: textreaderでテキストファイルを読み込む方法 /apo (19/05/15(Wed) 13:27) #90971
            └ Re[7]: textreaderでテキストファイルを読み込む方法 /apo (19/05/15(Wed) 13:27) #90972 解決済み


親記事 / ▼[ 90959 ]
■90958 / 親階層)  ファイル
□投稿者/ apo (1回)-(2019/05/15(Wed) 10:13:21)

分類:[.NET 全般] 

2019/05/15(Wed) 17:07:35 編集(投稿者)

削除
[ □ Tree ] 返信 編集キー/

▲[ 90958 ] / ▼[ 90960 ]
■90959 / 1階層)  Re[1]: textreaderでテキストファイルを読み込む方法
□投稿者/ Hongliang (799回)-(2019/05/15(Wed) 10:26:35)
TextReaderクラスはMustInheritであり、Newすることはできません。
StreamReaderクラスはTextReaderクラスを継承しており、TextReaderとして振る舞うことができます(つまり、TextReaderを引数とするメソッドにStreamReaderオブジェクトを渡すことができる)。

> streamreaderの部分をtextreaderに変えた場合
どのような背景があって、TextReaderに変えたいと思われたのでしょうか?
[ 親 90958 / □ Tree ] 返信 編集キー/

▲[ 90959 ] / ▼[ 90961 ]
■90960 / 2階層)  Re[2]: textreaderでテキストファイルを読み込む方法
□投稿者/ apo (2回)-(2019/05/15(Wed) 10:31:22)
No90959 (Hongliang さん) に返信
> TextReaderクラスはMustInheritであり、Newすることはできません。
> StreamReaderクラスはTextReaderクラスを継承しており、TextReaderとして振る舞うことができます(つまり、TextReaderを引数とするメソッドにStreamReaderオブジェクトを渡すことができる)。
>
>>streamreaderの部分をtextreaderに変えた場合
> どのような背景があって、TextReaderに変えたいと思われたのでしょうか?

返信ありがとうございます。
現在VBを学習中なのですが、ファイルの読み込みのコードを書いて上司にみてもらったときにtextreaderを使って書いてみてという課題を出され、現在いきづまっっている状況です。
[ 親 90958 / □ Tree ] 返信 編集キー/

▲[ 90960 ] / ▼[ 90962 ]
■90961 / 3階層)  Re[3]: textreaderでテキストファイルを読み込む方法
□投稿者/ 魔界の仮面弁士 (2161回)-(2019/05/15(Wed) 10:38:31)
No90960 (apo さん) に返信
> 現在VBを学習中なのですが、ファイルの読み込みのコードを書いて上司にみてもらったときにtextreaderを使って書いてみてという課題を出され、現在いきづまっっている状況です。

継承について学ばせるための課題なのかな…。
オーバーライドとシャドウイングの違いとかを教えるためのものでもなさそうですし。


課題の意図については、上司の方に確認しないと分かりませんが、
とりあえず、TextReader 型の変数や引数に対して、
StreamReader あるいは StringReader のインスタンスを
渡すようにしてみてはいかがでしょう。

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

▲[ 90961 ] / ▼[ 90966 ] ▼[ 90964 ]
■90962 / 4階層)   textreaderでテキストファイルを読み込む方法
□投稿者/ apo (3回)-(2019/05/15(Wed) 10:51:25)
2019/05/15(Wed) 10:54:23 編集(投稿者)
2019/05/15(Wed) 10:54:07 編集(投稿者)

No90961 (魔界の仮面弁士 さん) に返信
> ■No90960 (apo さん) に返信
>>現在VBを学習中なのですが、ファイルの読み込みのコードを書いて上司にみてもらったときにtextreaderを使って書いてみてという課題を出され、現在いきづまっっている状況です。
>
> 継承について学ばせるための課題なのかな…。
> オーバーライドとシャドウイングの違いとかを教えるためのものでもなさそうですし。
>
>
> 課題の意図については、上司の方に確認しないと分かりませんが、
> とりあえず、TextReader 型の変数や引数に対して、
> StreamReader あるいは StringReader のインスタンスを
> 渡すようにしてみてはいかがでしょう。
>

返信ありがとうございます。
意図としてはstreamreaderは写真や音など何でも読み込めるがtextreaderはテキストファイルしか読み込めないという違いがあって、
テキストファイルを読み込むときはtextreaderを使う、というようなことをおっしゃっていました、、、

なのでstremreaderは全然使わない方法があるのかと今探しているのですがどうでしょうか、、

またインスタンスを渡す場合のコードを教えていただくとありがたいです。
[ 親 90958 / □ Tree ] 返信 編集キー/

▲[ 90962 ] / 返信無し
■90966 / 5階層)  Re[5]: textreaderでテキストファイルを読み込む方法
□投稿者/ 魔界の仮面弁士 (2162回)-(2019/05/15(Wed) 11:18:46)
No90962 (apo さん) に返信
> 意図としてはstreamreaderは写真や音など何でも読み込めるが

その説明は、BinaryReader のものだったのではありませんか?

StreamReader は「文字」や「文字列」の読み取りに特化しており、
画像・サウンドの読み取りに使うことはできません。

BinaryReader も StreamReader も、特定のエンコーディングに従って
バイナリデータを読み込むという特性を持ち合わせていますが、
StreamReader が、テキストデータ専用に設計されているのに対し、
BinaryReader の場合は、テキストデータ以外にも対応できます。

一応、StreamReader クラスの BaseStream プロパティを通じて
バイナリデータの操作も可能とはなりますが、それは
StreamReader クラスの機能というより、Stream クラスの働きによるものです。



> textreaderはテキストファイルしか読み込めないという違いがあって、

「テキストファイル」ではなく「テキストデータ」と説明されませんでしたか?
相手がテキストファイルとは限らないはずなんですが。

TextReader は抽象クラス(MustInherit なクラス)ですが、
その派生クラスとしては、文字列の読み取りのための
StringReader クラスという物もあります。

今回話題にあがった StreamReader クラスも TextReader クラスの派生クラスですが、
このクラスはテキストファイル以外のストリームの読み取りにも使われます。
[ 親 90958 / □ Tree ] 返信 編集キー/

▲[ 90962 ] / ▼[ 90971 ]
■90964 / 5階層)  Re[5]: textreaderでテキストファイルを読み込む方法
□投稿者/ Hongliang (800回)-(2019/05/15(Wed) 10:58:21)
> 意図としてはstreamreaderは写真や音など何でも読み込めるがtextreaderはテキストファイルしか読み込めないという違いがあって、
> テキストファイルを読み込むときはtextreaderを使う、というようなことをおっしゃっていました、、、

あー、それは上司の方が誤解されています。
バイナリを読む場合、.NETにおいてはStreamクラス(およびBinaryReaderクラス)を使用します。
StreamReaderクラスは、確かにちょっとネーミングが分かりづらいですが、「Streamを文字列として読み出す」ためのクラスです。
// StreamはStreamで、ファイルを表すFileStreamクラスなどいろいろあります。

Miscrosoft DocsのStreamReaderクラスのメンバー一覧を上司の方に見せれば理解してもらえるかも。
[ 親 90958 / □ Tree ] 返信 編集キー/

▲[ 90964 ] / ▼[ 90972 ]
■90971 / 6階層)  Re[6]: textreaderでテキストファイルを読み込む方法
□投稿者/ apo (5回)-(2019/05/15(Wed) 13:27:10)
解決しました!
どうやら解釈が違うようでした。
回答ありがとうございました。
[ 親 90958 / □ Tree ] 返信 編集キー/

▲[ 90971 ] / 返信無し
■90972 / 7階層)  Re[7]: textreaderでテキストファイルを読み込む方法
□投稿者/ apo (6回)-(2019/05/15(Wed) 13:27:19)
No90971 (apo さん) に返信
> 解決しました!
> どうやら解釈が違うようでした。
> 回答ありがとうございました。
解決済み
[ 親 90958 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -