2010年7月11日

C/JavaからC#へ

今までCとJavaをメインに使ってきましたが、最近C#を勉強し始めたところです。簡単にまとめてみました。

■データタイプ

 主にsbyte/byte、short/ushort、int/uint、long/ulong、float/double/decimal、bool、char/string。ただしほかの言語(F#、VB等)からも使用する場合、CLS(Common Language Specification)に準拠する必要があります。そうなると普段はbyte、short、int、long、float/double/decimal、bool、char、stringを使ったほうが良さそう。

■演算子

  ほとんどの演算子はC/Javaとそれほど変わらないです

  • 数学演算子:+、 –、 *、 /、 %
  • ビット演算子:&、 |、 ^、 <<、 >>
  • 比較演算子:<、 >、 <=、 >=、 ==、 !=
  • 条件演算子:&&、 ||、 !、?:
  • 代入演算子:=、 +=、 –=、 *=、 /=、 %=、 &=、 |=、 ^=、 <<=、 >>=

  下記C#特有の演算子もあります

  • is:Javaのinstanceof相当、型をチェックするための演算子
  • as:キャスト演算子です。キャスタができない場合は例外の代わりにnullを返します。何と言ってもtry/catchが要らないので、場合によってプログラムがすっきりになる。
  • checked/unchecked:演算時のオーバーフローチェックするかどうかを明示的に指定。指定がない場合はコンパイラの設定に従います。
  • typeof:クラスの情報を取り出すためのTypeオブジェクトを取得。Javaのclassメンバー相当。ちなみにRuntime時のインスタンスはGetType()メソッド(JavaのgetClass()メソッド相当)を使います。

■コンソール出力

  「Hello world!」プログラムを作るために、コンソール出力APIが必要。C#の場合Console.Write/WriteLineを使用します。

  • Console.Write("Hello world\r\n");
  • Console.WriteLine("Hello world");

  変数を出力する場合、下記二つの方法があります。

  • printf風

int intVal = 1; string strVal = “abc”;

Console.Write(“intVal={0}, strVal={1}”, intVal, strVal);

  • 文字列連結

int intVal = 1; string strVal = “abc”;

Console.Write(“intVal=” + intVal + “, strVal” + strVal);

 

To be continued

0 件のコメント:

コメントを投稿