更新日:2009-04-08
C#とは
C++の一種の進化形であると同時に、Javaの影響を大きく受けている
言語といえる。また、VBやDelphiなどの様々な言語の長所を集めた
言語といえる。
C#の特徴
C++と比較 … メモリ管理の自動化によりコーディングが手軽
Javaと比較 … 処理の記述が容易
VBと比較 … データ型が厳密に扱われ、デバックが楽。
その他 … VB的にGUIの開発を行うことができるのも特徴
CLI
Common Language Infrastructureの略
CLIは一種の
実行環境であり、クラスライブラリを持つ。
VC++ではMFCというように、VC#ではCLIを利用して開発を行う
のが一般的である。
Visual Studio .NET
従来のVisual Studioに比べ、Windows向けから
.NETFramework上で
動作するソフトウェアの開発が行える。
C♯のデータ型
| 予約語 |
意味 |
| sbyte |
符号付き8ビット整数 |
| byte |
符号なし8ビット整数 |
| short |
符号付き16ビット整数 |
| ushort |
符号なし16ビット整数 |
| int |
符号付き32ビット整数 |
| uint |
符号なし32ビット整数 |
| long |
符号付き64ビット整数 |
| ulong |
符号なし64ビット整数 |
| char |
文字型 |
| float |
単精度実数 |
| double |
倍精度実数 |
| bool |
論理型 |
| decimal |
10進型 |
| string |
文字列型 |
インデクサとは
インスタンスをインデックスで参照することによって、インスタンス内のオブジェクト配列の1つを取り出す仕組み
using Systemm;
public class list
{
private static int item = 1;
private object value;
private list next;
public list( object o ){
value = o;
next = null;
}
public object get( int index ){
if( index > item - 1 )
{
return "index error";
}
list l = this;
while( index != 0 ){
l = l.next;
index--;
}
return l.value;
}
public void set( int index,object value ){
if( index > item -1 ){
Console.Write("index error");
return;
}
list l = this;
while( index != 0 ){
l = l.next;
index--;
}
l.value = value;
}
public object this[int index]{
get{ return this.get(index); }
set{ this.set( index,value ); }
}
public void show(){
list l = this;
Console.WriteLine("item:[0]",item);
do{
Console.WriteLine(l.value);
l = l.next;
}while( l != null );
Console.Write('\n');
}
}
public class run
{
public statioc void Main(){
list l = new list("item1");
l.add("item2");
l.add(300);
l.show();
object o = l[0];
l[0] = l[1];
l[1] = o;
l.show();
Console.WriteLine(l[2]);
Console.WriteLine(l[3]);
}
}
デリゲートとは
メソッドの型を宣言しておいて、その型を持つメソッド実装と入れ替えられる仕組み
using System;
Class A
{
private string[] ip,us;
public A(){
jp = new string[]{"零","壱","弐","参"};
us = new string[]{"zero","one","two","three"};
}
public string getJP(int i){
return jp[i];
}
public string getUS(int i){
return us[i];
}
}
delegate string MyDelegate( int i );
class run
{
public static void Main(){
A a = new A();
MyDelegate[] del = {
new MyDelegate( a.getJP ),
new MyDelegate( a.getUS )
};
for( int i = 0; i <4; i++ )
{
Console.WriteLine("{0},{1}",del[0](i),del[1](i));
}
}
}
最終更新:2009年04月08日 16:59