| 組み込み型 | ||||
|---|---|---|---|---|
| 分類 | C#型 | .NET型 | 範囲 | サイズ |
| 論理型 | bool | Boolean | trueまたはfalse | 8 |
| 文字型 | char | Char | \u0000~\uffff | 16 |
| 整数型(符号有) | sbyte | SByte | -128~127 | 8 |
| short | Int16 | -32,768~32,767 | 16 | |
| int | Int32 | -2147483648~2147483647 | 32 | |
| long | Int64 | -9223372036854775808~9223372036854775807 | 64 | |
| 整数型(符号無) | byte | Byte | 0~255 | 8 |
| ushort | UInt16 | 0~65535 | 16 | |
| uint | UInt32 | 0~4294967295 | 32 | |
| ulong | UInt64 | 0~18446744073709551615 | 64 | |
| 小数点型 | float | Single | -3.402823*10^38~3.402823*10^38 | 32 |
| double | Double | -1.79769313486232*10^308~1.79769313486232*10^308 | 64 | |
| decimal | Decimal | -79228162514264337593543950335~79228162514264337593543950335 | 128 | |
| 文字列型 | string | String | ||
| オブジェクト型 | object | Object | ||
| 予約語 | ||||
|---|---|---|---|---|
| abstract | add | alias | ascending | as |
| base | bool | break | byte | case |
| catch | char | checked | class | const |
| continue | decimal | default | delegate | descending |
| do | double | dynamic | from | else |
| enum | event | explicit | extern | false |
| get | global | goto | group | if |
| in | int | interface | internal | into |
| is | join | let | lock | long |
| namespace | new | object | orderby | operator |
| out | override | params | partial | private |
| protected | public | readonly | ref | remove |
| return | sbyte | sealed | select | set |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | ushort | using | using static | value |
| var | void | volatile | where | while |
| yield | implicit | |||
| 数値リテラルのサフィックス | ||
|---|---|---|
| データ型 | サフィックス | 例 |
| long | l,L | 100L |
| uint | u,U | 123u |
| ulong | ul,UL,Ul,uL | 123ul |
| float | f,F | 3.5F |
| double | d,D | 3D |
| decimal | m,M | 300.5M |
| エスケープシーケンス | |
|---|---|
| エスケープシーケンス | 概要 |
| \' | シングルクォート |
| \" | ダブルクォート |
| \\ | バックスラッシュ |
| \0 | Null |
| \b | バックスペース |
| \r | キャリッジリターン(復帰) |
| \n | ラインフィード(改行) |
| \f | フォームフィード(改ページ) |
| \t | 水平タブ |
| \v | 垂直タブ |
| \unnnn | Unicode文字 |
| \xnnnn | Unicode文字(可変長) |
| \Unnnnnnnn | Unicode文字(サロゲートペア) |
| 暗黙的な型変換 | |
|---|---|
| 変換元 | 変換可能型 |
| sbyte | short,int,long,float,double,decimal |
| byte | short,ushort,int,uint,long,ulong,float,double,decimal |
| short | int,long,float,double,decimal |
| ushort | int,uint,long,ulong,float,double,decimal |
| int | long,float,double,decimal |
| uint | long,ulong,float,double,decimal |
| long | float,double,decimal |
| char | ushort,int,uint,long,ulong,float,double,decimal |
| float | double |
| ulong | float,double,decimal |
| 明示的な型変換 | |
|---|---|
| 変換元 | 変換可能型 |
| sbyte | byte,ushort,uint,ulong,char |
| byte | sbyte,char |
| short | sbyte,byte,ushort,uint,ulong,char |
| ushort | sbyte,byte,short,char |
| int | sbyte,byte,short,ushort,uint,ulong,char |
| uint | sbyte,byte,short,ushort,int,char |
| long | sbyte,byte,short,ushort,int,uint,ulong,char |
| ulong | sbyte,byte,short,ushort,int,uint,long,char |
| char | sbyte,byte,short |
| float | sbyte,byte,short,ushort,int,uint,long,ulong,char,decimal |
| double | sbyte,byte,short,ushort,int,uint,long,ulong.char,float,decimal |
| decimal | sbyte,byte,short,ushort,int,uint,long,ulong,char,float,double |
| 演算子 | ||
|---|---|---|
| 算術演算子 | ||
| 演算子 | 概要 | 例 |
| + | 加算 | 2+3 ⇒5 |
| - | 減算 | 5-2 ⇒3 |
| * | 乗算 | 2*4 ⇒8 |
| / | 除算 | 6/3 ⇒2 |
| % | 剰余 | 10%3 ⇒1 |
| ++ | 前置加算 | i = 3;j = ++i ⇒jは4,iは4 |
| ++ | 後置加算 | i = 3;j = i++ ⇒jは3,iは4 |
| -- | 前置減算 | i = 3;j = --i ⇒jは2,iは2 |
| -- | 後置減算 | i = 3;j = i-- ⇒jは3,iは2 |
| 代入演算子 | ||
| 演算子 | 概要 | 例 |
| = | 変数などに値を代入 | x = 10; |
| += | 左辺と右辺を加算した結果を、左辺に代入 | x = 5;x += 2; ⇒7 |
| -= | 左辺を右辺で減算した結果を、左辺に代入 | x = 5;x -= 2; ⇒3 |
| *= | 左辺と右辺を乗算した結果を、左辺に代入 | x = 5;x *= 2; ⇒10 |
| /= | 左辺を右辺で除算した結果を、左辺に代入 | x = 5;x /= 2; ⇒2.5 |
| %= | 左辺を右辺で除算した余りを、左辺に代入 | x = 5;x %= 2; ⇒1 |
| &= | 左辺と右辺をビット論理積した結果を、左辺に代入 | x = 10;x &= 1; ⇒0 |
| |= | 左辺と右辺をビット論理和した結果を、左辺に代入 | x = 10; x |= 1; ⇒11 |
| ^= | 左辺と右辺をビット排他論理和した結果を、左辺に代入 | x = 10; x ^= 2; ⇒8 |
| <<= | 左辺を右辺の値だけ左シフトした結果を左辺に代入 | x = 10; x <<= 1; ⇒20 |
| >>= | 左辺を右辺の値だけ右シフトした結果を左辺に代入 | x = 10; x >>= 1; ⇒5 |
| 関係演算子 | ||
| 演算子 | 概要 | 例 |
| == | 左辺と右辺の値が等しい場合はtrue | 7 == 7 ⇒true |
| != | 左辺と右辺の値が等しくない場合にtrue | 7 != 7 ⇒false |
| < | 左辺が右辺より小さい場合にtrue | 7 < 10 ⇒true |
| > | 左辺が右辺より大きい場合にtrue | 7 > 10 ⇒false |
| <= | 左辺が右辺以下の場合にtrue | 7 <= 10 ⇒true |
| >= | 左辺が右辺以上の場合にtrue | 7 >= 10 ⇒false |
| ?: | 条件演算子。「条件式? 式1 : 式2」条件式がtrueの場合は式1、falseの場合は式2を返す。 | (10 > 1) "正解":"不正解" ⇒正解 |
| ?? | null合体演算子。左式がnullでなければその値、nullならば右辺の値を返す。 | null ?? "なし" ⇒なし |
| 論理演算子 | ||
| 演算子 | 概要 | 例(xはtrue、yはfalseを表すものとする) |
| && | 論理積。左右の式がともにtrueの場合にture | x && y ⇒false |
| || | 論理和。左右の式いずれかがtrueの場合にtrue | x || y ⇒true |
| ^ | 排他的論理和。左右の式いずれか一方だけがtrueの場合にtrue | x ^ y ⇒true |
| ! | 否定。式がtrueの場合はfalse、falseの場合はtrue | !x ⇒false |
| ビット演算子 | ||
| 演算子 | 概要 | 例 |
| & | 論理積。左式/右式の双方にセットされているビットをセット | 10 & 1 ⇒0 |
| | | 論理和。左式/右式のいずれかにセットされているビットをセット。 | 10 | 1 ⇒11 |
| ^ | 排他的論理和。左式/右式のいずれかでセットされており、かつ、双方にセットされていないビットをセット | 10 ^ 1 ⇒11 |
| ~ | 否定。ビットを反転 | ~10 ⇒-11(符号フラグが反転し2の補数表現として扱われる。 |
| << | ビットを左にシフト | 10 << 1 ⇒20 |
| >> | ビットを右にシフト | 10 >> 1 ⇒5 |
| 演算子の優先順位 | |
|---|---|
| 優先順位 | 演算子 |
| 高い ↕ 低い | .、?.、()、[]、++、--、new、typeof、checked、unchecked、default、sizeof |
| +、-、!、~、++、--、(T)、await | |
| *、/、% | |
| +、- | |
| <<、>> | |
| <、>、<=、>=、is、as | |
| ==、!= | |
| & | |
| ^ | |
| | | |
| && | |
| || | |
| ?? | |
| ?: | |
| =、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、=> | |
| 正規表現 | |
|---|---|
| パターン | 概要 |
| xxx | 特定の文字があるか |
| [xxx] | いずれかの文字にマッチする文字があるか |
| [^xxx] | いずれかの文字のどれもマッチしない文字があるか |
| [x-y] | 特定範囲の文字列にマッチする文字があるか |
| (...) | 文字を1つのグループにまとめることができます。 |
| . | 任意の1文字があるか |
| ^x | 先頭に特定の文字があるか |
| x$ | 末尾に特定の文字があるか |
| x* | 0文字以上の特定の文字があるか |
| x+ | 1文字以上の特定の文字があるか |
| x? | 0か1文字の特定の文字があるか |
| x{n} | n文字の特定の文字があるか |
| x{n,} | n文字以上の特定の文字があるか |
| x{n,m} | nからm文字の特定の文字があるか |
| 特定の文字セットを表現 | |
|---|---|
| パターン | 概要 |
| \t | タブ文字 |
| \n | ラインフィード(改行) |
| \r | キャリッジリターン(復帰) |
| \. | .を表現 |
| \d | 数値にマッチ |
| \D | 数値以外にマッチ |
| \s | 空白文字にマッチ |
| \S | 空白文字以外にマッチ |
| \w | 大文字/小文字のアルファベット、数字、アンダースコア、ひらがな、カタカナ、漢字 |
| \W | 文字以外にマッチ |
| \b | 英数字とその他の文字との境界 |
| \p{IsXxxxx} | |
| \P{IsXxxxx} | |
| \p{P} | |
| classの修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能(既定) |
| abstract | 抽象クラスを指定 |
| static | 静的クラスを指定 |
| sealed | 他のクラスから継承できない |
| methodの修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| protected internal | 派生クラスと同じアセンブリ内からのみアクセス可能 |
| protected | 同じクラスと派生クラスからのみアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能 |
| private | 同じクラスからのみアクセス可能 |
| abstract | 抽象メソッドを宣言 |
| static | クラスメソッドを宣言 |
| new | 継承されたメソッドを隠蔽する |
| virtual | 派生クラスでオーバーライドできるようにする |
| override | virtualメソッドをオーバーライドする |
| sealed | 派生クラスでオーバーライドできないようにする |
| async | 非同期メソッドを宣言 |
| extern | メソッドの本体は外部で定義されている |
| feildの修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| protected internal | 派生クラスと同じアセンブリ内からのみアクセス可能 |
| protected | 同じクラスと派生クラスからのみアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能 |
| private | 同じクラスからのみアクセス可能(既定) |
| readonly | 読み取り専用のフィールドを定義 |
| static | クラスフィールドを宣言 |
| new | 継承されたメンバーを隠蔽 |
| volatile | 複数スレッドから値が変更される可能性があることを宣言 |
| propatyblockで利用できる修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| protected internal | 派生クラスと同じアセンブリ内からのみアクセス可能 |
| protected | 同じクラスと派生クラスからのみアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能 |
| private | 同じクラス内からのみアクセス可能(既定) |
| static | 静的プロパティを宣言 |
| new | 継承されたメンバーを隠蔽 |
| virtual | 派生クラスでオーバーライドできるようにする |
| override | virtualプロパティをオーバーライドできるようにする |
| abstract | 抽象メンバーを指定 |
| sealed | 他のクラスから継承できない |
| indexerで利用できる修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| protected internal | 派生クラスと同じアセンブリ内からのみアクセス可能 |
| protected | 同じクラスと派生クラスからのみアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能 |
| private | 同じクラス内からのみアクセス可能(既定) |
| new | 継承されたメンバーを隠蔽 |
| virtual | 派生クラスでオーバーライドできるようにする |
| override | virtualプロパティをオーバーライドできるようにする |
| abstract | 抽象メンバーを指定 |
| sealed | 他のクラスから継承できない |
| interfaceで利用できる修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能 |
| partial | 定義を複数のファイルに分割する |
| enumで利用できる修飾子 | |
|---|---|
| 修飾子 | 概要 |
| public | すべてのクラスからアクセス可能 |
| internal | 同じアセンブリ内からのみアクセス可能(既定) |
| 入れ子クラスで利用できる修飾子 | |
|---|---|
| 修飾子 | 概要 |
| new | 継承されたメンバーを隠蔽する |
| protected | 同じクラスと派生クラスからアクセス可能 |
| protected internal | 同じプロジェクト内のクラスと派生クラスからアクセス可能 |
| private | 同じクラスからのみアクセス可能(既定) |
| フィールドの既定値 | |
|---|---|
| bool | false |
| byte,int,sbyte,short,uint,ulong,ushort | 0 |
| long | 0L |
| double | 0.0D |
| float | 0.0F |
| decimal | 0.0M |
| char | '\0' |
| enum | 式「(E)0」によって算出された値(Eは列挙型) |
| strucct | すべての値型フィールドを既定値、すべての参照型フィールドをnullに設定した値 |
| 既定のアクセスレベル | ||
|---|---|---|
| 対象要素 | 指定できるアクセスレベル | 既定のアクセスレベル |
| 名前空間 | - | public |
| 型(クラス、構造体など) | public,internal | internal |
| クラスのメンバー | public,protected,internal,protected internal,private | |
| 構造体のメンバー | public,internal,private | private |
| 列挙型(enum)メンバー | - | public |
| インターフェイスのメンバー | - | public |
| readonlyとconstの相違点 | ||
|---|---|---|
| 相違点 | readonly | const |
| ローカル変数に付与 | できない(フィールドのみ) | できる |
| 初期化 | 宣言時/コンストラクター | 宣言時のみ |
| クラスメンバー | static指定したときだけ | 常にクラスメンバー |
| 値決定のタイミング | 実行時 | ビルド時 |
| 代入できる型 | フィールドに代入できるものは何でも | 制限あり |
| タプルと匿名型の相違点 | ||
|---|---|---|
| 相違点 | 匿名型 | タプル |
| 型分類 | 参照型(クラス) | 値型(構造体) |
| 変更可否 | 不可 | 可 |
| 型宣言 | 利用不可 | 利用可 |
オーバライド可能なメンバー
インターフェイスのメンバー
| 隠蔽/オーバーライドの条件 | ||
|---|---|---|
| 項目 | 隠蔽 | オーバーライド |
| メソッド名 | 一致 | 一致 |
| 引数 | データ型と数が一致 | データ型と数が一致 |
| アクセス修飾子 | 制約なし | 一致 |
| 戻値の型 | 制約なし | 一致 |
名前解決の優先順位
| パラメータ | 既定値 | 意味 |
|---|---|---|
| Data Source | ブランク | 接続文字列(DBにより形式は異なる) (例)Data Source=999.999.999.999:1521/DB01 |
| User Id | ブランク | 接続するDBのユーザID (例)User Id=scott |
| Password | ブランク | ユーザIDに対するパスワード (例)Password=password |
| Pooling | True | プールの有無(デフォルトはtrue) (例)Pooling=true |
| Min Pool Size | 1 | 最小プール数(デフォルトは0) (例)Min Pool Size=5 |
| Max Pool Size | 100 | 最大プール数(デフォルトは100) (例)Max Pool Size=10 |
| Connection Lifetime | 0 | コネクションがプールされてから破棄されるまでの時間 (例)Connection Lifetime=0 |
| Connection Timeout | 15 | プールの空いた接続を取得するまでの待機時間(秒) (例)Connection Timeout=60 |
| DBA Privilege | ブランク | ORACLE管理権限を指定(SYSDBA or SYSOPER) (秒)DBA Privilege=DBA |
| Decr Pool Size | 1 | 確立され使用していない接続が多すぎる時にCLOSEする接続数 |
| Incr Pool Size | 5 | プール内の接続が全て接続されている時に新たに接続する接続数 |
| Statement Cache Purge | False | 接続をプールに戻す時にSQL文キャッシュを消去するかどうか |
| Statement Cache Size | 0 | SQL文キャッシュのサイズ |
| Proxy User Id | ブランク | プロキシのユーザ名 |
| Proxy Password | ブランク | プロキシのパスワード |