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

わんくま同盟

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

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

■86244 / 1階層)  バイナリデータを読んで、日付などの形にする方法について
□投稿者/ Jitta (350回)-(2018/01/03(Wed) 17:36:42)
No86240 (へなちょこ さん) に返信

 プログラムというのは、pro: 前もって、gram: 書かれたもの、です。
前もって書かれたもの、つまり、する予定のことをあらかじめ書いておくことです。
何を書くのか。コンピュータに対する命令です。
「コンピュータに対する」を、「人」に置き換えてみてもいいでしょう。
「人に、何をするか、伝える」というのが、プログラム。
それをコンピュータが理解できる言語で表したものがプログラムコードです。
ということで、プログラムコードを書く前にプログラムを作りましょう。
すなわち、何を依頼しているのか、理解しましょう。

> reader.ReadBytes(2) '最初の2バイトは読み捨て
> Dim len1 As Integer = 2 * reader.ReadByte() '文字1のバイト数
> Dim len2 As Integer = 2 * reader.ReadByte() '文字2のバイト数
> この中で、文字1のバイト数として1バイトのデータを読んでInteger型の変数len1に代入
> その後、Byte()にしてString型にするという流れを行っていると思うのですが、

 len1 には、「1バイトのデータを読んで代入」ではなく、「1バイトのデータを読んで、2倍して、代入」しています。ここで、「2倍」している意図は何でしょうか。
 ところで、1行の中にコメントを押し込んでいますが、最近、特に .NET Framework でのコードでは、そういうことは推奨されていません。コメントは1行ごとに「何をしているか」ではなく、プログラム(することの流れ)の中で、「この時点で何を実現するか」を書くようにします。「何をするか」は頻繁に変わりますが、「何をしなければならないか」は、仕様変更に連動するだけです。つまり、仕様をコメントとして書いていけば、コメントとコードの違いがバグとして見えるようになります。


> 色々と試してみたところ、「型が変換できません」のエラーが出てしまい、訳が分からなく
> なってます....

 エラーが出たときは、どの行なのかというのが重要な情報です。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←バイナリデータを読んで、日付などの形にする方法について /へなちょこ →Re[2]: バイナリデータを読んで、日付などの形にする方法につ.. /??????
 
上記関連ツリー

バイナリデータを読んで、日付などの形にする方法について / へなちょこ (18/01/03(Wed) 00:23) #86240
Re[1]: バイナリデータを読んで、日付などの形にする方法につ.. / Azulean (18/01/03(Wed) 00:44) #86241
│└ Re[2]: バイナリデータを読んで、日付などの形にする方法につ.. / へなちょこ (18/01/03(Wed) 14:06) #86242
│  └ Re[3]: バイナリデータを読んで、日付などの形にする方法につ.. / Azulean (18/01/03(Wed) 14:37) #86243
│    └ Re[4]: バイナリデータを読んで、日付などの形にする方法につ.. / へなちょこ (18/01/03(Wed) 17:39) #86245
│      ├ Re[5]: バイナリデータを読んで、日付などの形にする方法につ.. / Azulean (18/01/03(Wed) 19:36) #86247
│      │└ Re[6]: バイナリデータを読んで、日付などの形にする方法につ.. / へなちょこ (18/01/03(Wed) 23:51) #86248
│      └ Re[5]: バイナリデータを読んで、日付などの形にする方法につ.. / 魔界の仮面弁士 (18/01/05(Fri) 16:27) #86252 解決済み
│        └ Re[6]: バイナリデータを読んで、日付などの形にする方法につ.. / へなちょこ (18/01/09(Tue) 21:19) #86264
バイナリデータを読んで、日付などの形にする方法について / Jitta (18/01/03(Wed) 17:36) #86244 ←Now
  └ Re[2]: バイナリデータを読んで、日付などの形にする方法につ.. / ?????? (18/01/03(Wed) 23:52) #86249 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信