土曜日, 4月 09, 2011

C#の多次元配列

C#では、配列の宣言がJavaと異なります。

角カッコが、型のほうにつく。

(C#)
string[] nameList={"Ann","Chris","Freda","Darlene","Toni"};

こんな感じです。

これがJavaだと、変数名のほうにつきます。

(Java)
String list[]={"Brad","Alfie","Chris"};

こんなことでも、結構ストレスになるものです。

C#では、多次元配列がさらに特殊な形をとります。

(C#)
int[,] intList = { { 1, 2 }, { 3, 4 } };

あれ、というような意外感があるように思います。

さらに、Javaのように宣言する配列は、C#ではjagged配列という、また別なデータ構造を意味します。

これは、配列の配列という位置づけで、それぞれの配列の要素に、任意の配列を指定できます。

逆に言うと、それぞれの配列の要素に配列を指定しなければなりません。

(C#)
int[][] jaggedList =new int[2][];
jaggedList[0] = new int[2];
jaggedList[1] = new int[3];

注意が必要です。

土曜日, 4月 02, 2011

仕事でC#を使うことに。

C#は、Javaもどきとしか認識しておりませんでしたが、なんといってもマイクロソフトのVisual Studioつき。

IDEが完備しているのは強い。情報もある、といえるでしょう。

使いやすい。

イベントの処理の方法など、VC・C++などと同様に扱えます。

無意味な数値を極力使わないJava系のよさも引き継いています
リソースに「番号」を振り分ける悪趣味は、ここにはない。

コンポーネントに追加した順番ですべてが決まります。

--

Eclipse と比較すると、ヘルプやサンプルコードにすぐにアクセス出来ない、遠い感じがします。

情報はすべからくHTML形式にして、ネットに置いて欲しいものです。

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...