C#/.NET

C#/.NET

ここでは,C#/.NET に関する情報をご紹介します.


凡例:
本頁内 : 頁内へのリンク
別頁 : サイト内の別頁へのリンク
外頁 : 外部サイトへのリンク

C# について


MSDN Magazine 記事


C# コード サンプル

・サンプル 1

namespace MyProject
{
    using System;
    using System.WinForms;

    public class MyClass : System.WinForms.Form
    {
        public MyClass() // コンストラクタ
        {
            Initialize();
        }

        public override void Dispose()
        {
            base.Dispose();
        }

        private void Initialize()
        {}

        // The main entry point for the application
        public static void Main(string[] args)
        {
            Application.Run(new MyClass());
        }
    }
}

・サンプル 2 "Hello world"

using System;

class Hello {
    static void Main() {
        Console.WriteLine("Hello, world!");
    }
}


C# の特徴

・

C++ との違いなど

・signed char → sbyte
unsigned char → byte
unsigned short → ushort
unsigned int → uint
unsigned long → ulong

・文字列型と十進型がある

・文字,文字列は Unicode

・データ型ごとにバイト長が決められている

・引数の値渡し,参照渡し,値受け取り

void function(int a, ref int b, out int c);

・多次元配列

int[2,3,4] n; // 三次元配列

int[][][] n; // 配列の配列も可

・プロパティ

public class A
{
    private int n_;

    public int n {
        get {
            return n_;
        }
        set {
            n_ = value;
        }
    }
}


・オブジェクト (object 型) 以外に,単純型 (int など) や struct がある

・単純型や struct とオブジェクト型を相互に変換できる boxing 操作 がある

int n = 1;
object o = i; // boxing
int m = (int)o; // unboxing

・struct は継承できない

・テンプレートはない

・ガベージ コレクションによる自動メモリ管理

・Interface がある (Java と同様の機能)

・CLR (Common Lauguage Runtime) 上で動作する

・C/C++/VB/Jscript と同じ CLR 上で動作する

・C# で作ったクラスを新バージョンの VB で継承できる

・CLR で動く言語は IL (Immidiate Language) という中間言語に落ちてから実行される.JIT もある.あらかじめコンパイルしておくことも可.

・HTML のスクリプトとしても使える

<script lanuage="C#">

・

C# の型

・"値型"と"参照型"がある

・組み込み型では「ビット数」も決められている

・組み込み型一覧 (名称は省略形: 例えば int は System.Int32 の省略形)

意味 サンプル
sbyte  8 ビット 符号付き整数 sbyte val = -5;
byte  8 ビット 符号なし整数 byte val = 5;
short 16 ビット 符号付き整数 short val = -5;
ushort 16 ビット 符号なし整数 ushort val = 5;
int 32 ビット 符号付き整数 int val = -5;
uint 32 ビット 符号なし整数 uint val = 5U;
long 64 ビット 符号付き整数 long val = -5L;
ulong 64 ビット 符号なし整数 ulong val = 5UL;
float 単精度浮動小数点 float val = -1.23F;
double 倍精度浮動小数点 double val = -1.23D;
decimal 10 進数 (有効桁 28) decimal val = 1.23M;
bool ブール (true または false) bool val = true;
char 文字型 (Unicode) char val = 'a';
string 文字列型 (Unicode) string val = "abc";
object クラスのベース型 (クラス以外も object に変換できる) object o = new MyClass();

・クラス (,インタフェイス),構造体,列挙型,配列型が定義出来る

・値型の変数を参照型に変換することが出来ます.

例.

int i = 1;
object o = i;

この操作を boxing (ボックス化) と言います.また,元の値型に戻すことも出来ます.

例.

int i = 1;
object o = i;
int j = (int)o;

この操作を unboxing (ボックス化解除) と言います.

コンテナ クラス等再利用性の高い多くのクラスで,参照型を使用する筈ですから (template が無い),この機能を使う機会は多いと思います.


Windows.NET という技術

2000/07/21

・ CLR (Common Language Runtime) 上で,C#,C++,Visual Basic のコードが動作する.その他の言語 (COBOL や Pascal,Smalltalk,Perl 等) もサポートするが,Java はサポートしない.
・ 当初は Windows ベース.Linux 等他の OS での実装も可能.
・ C# についてはヨーロッパの標準化機関 ECMA に提出されており,標準化を行なうとしている
・ 基になっている技術は COM (COM+) だが,レジストリへの登録,IUnknown からの派生によるインタフェイスの提供,IDL ファイルの記述が不要になる.
・ コードは IL と呼ばれる中間言語 (仮想マシンコード) に変換され,IL は JIT コンパイラによりネイティブ コードに変換される.Win32 API は直接呼ばれない.
・ データが XML 化される.
・ XML というデータ形式を利用することで,携帯電話や PDA などの情報家電でも同じデータを扱えるようにする.また,他社の情報家電とのリンクを可能にする.
・ 開発環境として Visual Studio.NET が提供される.この α 版は PDC (Professional Developers Conference,7/11 〜 14 米国オーランドで開催) で配布された.β は MSDN で 今年の秋頃配布予定.製品版は来年の今頃とか.
・ クラス ライブラリとランタイム環境のセットである「.NET Framework」が提供される.このフレームワークは,スタンドアローン アプリケーション用のものと,Web アプリケーション用のものが,同じように用意されており,共に VB ライクなプログラミング環境で使えるようになっている.

Microsoft Windows.NET

2000/08/22

・ MSDN Online .NET Information
http://msdn.microsoft.com/net/

.NET framework SDK がダウンロード出来るように成りました.以前オーランドの PDC で配布されたものと同じもののようです.

・ ・C# コンパイラを含んでいます.コマンド ラインで実行可能です.
・ ・86 MB あります.
・ ・Windows 2000 及び IIS,IE5.5 が必要です.
・ ・危険ですので,実務マシンにインストールするのはやめましょう.

・ Antechinus C# Editor 上記 C# コンパイラ対応の開発環境として,

Antechinus C# Editor
http://www.c-point.com/csharp.htm


が出たようです.

2000/11/13

・ MSDN Online .NET Developer Center

http://msdn.microsoft.com/net/

.NET Framework SDK Beta 1 がダウンロード出来るように成りました.

2000/12/11

・ Visual Studio.NET ベータ 1 日本語版提供開始

http://www.microsoft.com/japan/developer/vstudio/nextgen/beta.asp

2001/09/20

・ 現在は「.NET Framework SDK Beta 2 日本語版」がダウンロード出来ます

http://www.microsoft.com/japan/developer/net/dotnetsdkdown.asp

・ 「Visual Studio .NET ベータ 2」についてはこちら

http://www.microsoft.com/japan/developer/vstudio/nextgen/beta.asp

2002/01/18

・ 英語版 Visual Studio.NET ダウンロード (MSDN Subscriber Downloads サイトから)

http://www.microsoft.com/japan/msdn/subscriptions/resources/subdwnld.asp

・ 英語版 .NET Framework SDK ダウンロード

http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true

・ .NET Framework 再頒布用モジュール ダウンロード

http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/829/msdncompositedoc.xml

2002/02/14

・ Visual Studio .NET 日本語版が 3月22日 (金) より発売
http://www.microsoft.com/japan/presspass/releases/021402msdn.htm

・Microsoft Visual Studio .NET Professional version 2002
通常パッケージ ¥148,000
優待パッケージ ¥ 84,800

・Microsoft Visual Studio .NET Enterprise Architect version 2002
通常パッケージ ¥350,000
優待パッケージ ¥240,000

・Microsoft Visual Studio .NET Enterprise Developer version 2002
通常パッケージ ¥228,000
優待パッケージ ¥148,000

(注) 6月30日まで2万円のキャッシュバックを実施.

2002/03/19

・ Microsoft .NET Framework SDK 日本語版 ダウンロード

http://www.microsoft.com/japan/msdn/netframework/downloads/sdk.asp

・ Microsoft .NET Framework Service Pack 1 ダウンロード

http://www.microsoft.com/japan/msdn/netframework/downloads/sp1/