(主にコンピュータ関連)C#言語のデータ形式とアクセス※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。C言語と比較して、C#言語固有と思われるデータ構造、アクセス方法のTipsです。文字列中のNULL文字C#言語(というか.NET)では、文字列中にNULL文字(\x00)が入っても良いらしい。"hoge";とすると、string型変数sは、"hoge\x00\x00hoge"となる。この文字列に対して、Debug.Print(s);とすると、NULL文字以降が無視され、hogeとしか出力しない。Edition)メモリブロック中の整数値取得などC#には、TCP/IPのパケットヘッダなど、バイト列中の数値取得に便利なSystem.BitConverterクラスがある。このクラスには、メモリブロックから、(現在のシステムのバイトオーダーにしたがって)数値を取得したり、メモリブロック中のデータの並びを反転させたりするメソッドが含まれている。一般的な(と思われる)アプリケーションではこのような処理とは無縁だと思われるのですが、個人的には使用頻度が高い処理なので、かなり有効に使わせてもらっています。Environment)の変数ウィンドウなどで表示されるクラスの値は、ToStringメソッドの実行結果なので、デバッグ効率が良くなるような表示内容をToStringメソッドで実装すると便利。VBではこのような動作にならないらしい。シフトJISのコードページは932Console.WriteLine(encoding.GetString(bTemp));の様に記述する。日本語Windowsであれば、上の二つの処理はどちらも同じ意味になる。日本国内でも、業務上の必要に迫られて英語版Windowsを使用している環境もあるので、汎用的なアプリケーションを作成しようと思うのなら、既定のエンコードに頼らず、面倒でもコードページを指定したほうが良いと思われる。ところで、Java言語では、Stringクラスのコンストラクタでバイト配列を指定できる。場合は、Java言語よりもC#言語の方が簡潔に記述できる場合が多いのだが、文字列のエンコードに関しては、Java言語の方が簡潔な記述が可能となっている。...とすればすっきりする。nullと、型名の後ろに「?」をつけると、NULL許容型になり、nullを代入してもエラーにならない。(null)の三つの状態を持たせる事が出来る。3.0でサポートされた、LINQのテーブル列定義には必要不可欠な物である。値である場合には右側のオペランドを返します。"Unspecified");と書けるという事になる。""の時の動作が異なる。Format)HDDの中を見る(UDF編)タイトルとチャプタDVD-RAMのIFOファイルRD-X4のIFOファイル取得中です。