※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。C言語の関数と同じ動作を、C#言語で実現しようとした場合のTipsです。)として、同一の文字列か比較できる。strcmpの様な、文字列の大小比較は、stringクラスのCompareメソッドや、CompareToメソッドを使う。)Compareメソッドは、staticメソッドなので、比較元(str1)の文字列変数がnullであっても例外が発生しないところがJavaと比較したときの優位な点かな。Compareメソッドは、カルチャ(いわゆる地域化)に対応した文字列の大小比較も出来るらしい。memcpyC言語で、char配列のmemcpyに相当する処理を行うには、System.ArrayクラスのCopyメソッドを使う。クラスのデータをメモリに展開するような用途には使えない。Copyメソッドstaticメソッドなので、Bufferクラスのインスタンスを作成する必要は無い。len);また、C言語では、ポインタを使ってメモリブロックの任意の位置を指し示す事が簡単に出来るが、C#言語では、一般的にはポインタを意識させない作りなので、メモリブロックの任意の位置を指定してコピーさせる場合、ConstrainedCopyメソッドを使う。ConstrainedCopyメソッドもstaticメソッドなので、Bufferクラスのインスタンスを作成する必要は無い。len);ただし、この方法でもポインタを使うことは出来ないらしい。byte型などのプリミティブ型の配列の場合、System.BufferクラスのBlockCopyメソッドを使った方が処理が速いらしい。BlockCopyメソッドもstaticメソッドなので、Bufferクラスのインスタンスを作成する必要は無い。len);realloc(厳密には違うかも知れないが...)一度確保したメモリブロックの大きさを変更する場合、System.ArrayクラスのResizeメソッドを使う。20);の様な使い方をするらしい。20);でも例外は発生せず、望み通りの結果が得られる。値の対応する要素と比較しながら配列全体をループすることです。)の様に文字列として比較するとか...。世間的には、memcmpの様な処理が標準で存在する言語って珍しいような気もするのだけど、やっぱり必要でしょ???memsetClearメソッドで0クリアできるから無い????確かに、C言語でmemsetを使うケースの大多数は0クリアのような気がするけど、それって、auto変数の中身が初期化されないC言語固有の問題では?書式指定printfなどの書式指定は、Formatメソッドを使用するが、C言語の書式指定に比べて強力なものとなっている。addr));と、同じ値を複数出力したい場合に簡潔に記述できる。"{0:F2}"など、C言語で出来る事は一通り出来そう。書式指定文字列を動的に作成するときなど、書式指定文字列の中に中括弧を入れたい場合は、中括弧を二重に記述する。"D");の実行結果は、"{0:D}"となる。strtodなどの文字列を数値に変換するための関数がある。0);の様に記述すると正しく数値変換できる。System.ArgumentException例外が発生となり、上手く行かない。16);のどちらも、0x123(291)と変換する。Format)HDDの中を見る(UDF編)タイトルとチャプタDVD-RAMのIFOファイルRD-X4のIFOファイル取得中です。