戻る

C#

目次

リンク

  1. C#用語集
  2. C#メモ
  3. C#標準ライブラリ
組み込み型
分類C#型.NET型範囲サイズ
論理型boolBooleantrueまたはfalse8
文字型charChar\u0000~\uffff16
整数型(符号有)sbyteSByte-128~1278
shortInt16-32,768~32,76716
intInt32-2147483648~214748364732
longInt64-9223372036854775808~922337203685477580764
整数型(符号無)byteByte0~2558
ushortUInt160~6553516
uintUInt320~429496729532
ulongUInt640~1844674407370955161564
小数点型floatSingle-3.402823*10^38~3.402823*10^3832
doubleDouble-1.79769313486232*10^308~1.79769313486232*10^30864
decimalDecimal-79228162514264337593543950335~79228162514264337593543950335128
文字列型stringString
オブジェクト型objectObject
トップへ
予約語
abstractaddaliasascendingas
baseboolbreakbytecase
catchcharcheckedclassconst
continuedecimaldefaultdelegatedescending
dodoubledynamicfromelse
enumeventexplicitexternfalse
getglobalgotogroupif
inintinterfaceinternalinto
isjoinletlocklong
namespacenewobjectorderbyoperator
outoverrideparamspartialprivate
protectedpublicreadonlyrefremove
returnsbytesealedselectset
shortsizeofstackallocstaticstring
structswitchthisthrowtrue
tryushortusingusing staticvalue
varvoidvolatilewherewhile
yieldimplicit
トップへ
数値リテラルのサフィックス
データ型サフィックス例
longl,L100L
uintu,U123u
ulongul,UL,Ul,uL123ul
floatf,F3.5F
doubled,D3D
decimalm,M300.5M
トップへ
エスケープシーケンス
エスケープシーケンス概要
\'シングルクォート
\"ダブルクォート
\\バックスラッシュ
\0Null
\bバックスペース
\rキャリッジリターン(復帰)
\nラインフィード(改行)
\fフォームフィード(改ページ)
\t水平タブ
\v垂直タブ
\unnnnUnicode文字
\xnnnnUnicode文字(可変長)
\UnnnnnnnnUnicode文字(サロゲートペア)
トップへ

型変換

暗黙的な型変換
変換元変換可能型
sbyteshort,int,long,float,double,decimal
byteshort,ushort,int,uint,long,ulong,float,double,decimal
shortint,long,float,double,decimal
ushortint,uint,long,ulong,float,double,decimal
intlong,float,double,decimal
uintlong,ulong,float,double,decimal
longfloat,double,decimal
charushort,int,uint,long,ulong,float,double,decimal
floatdouble
ulongfloat,double,decimal
明示的な型変換
変換元変換可能型
sbytebyte,ushort,uint,ulong,char
bytesbyte,char
shortsbyte,byte,ushort,uint,ulong,char
ushortsbyte,byte,short,char
intsbyte,byte,short,ushort,uint,ulong,char
uintsbyte,byte,short,ushort,int,char
longsbyte,byte,short,ushort,int,uint,ulong,char
ulongsbyte,byte,short,ushort,int,uint,long,char
charsbyte,byte,short
floatsbyte,byte,short,ushort,int,uint,long,ulong,char,decimal
doublesbyte,byte,short,ushort,int,uint,long,ulong.char,float,decimal
decimalsbyte,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
関係演算子
演算子概要例
==左辺と右辺の値が等しい場合はtrue7 == 7 ⇒true
!=左辺と右辺の値が等しくない場合にtrue7 != 7 ⇒false
<左辺が右辺より小さい場合にtrue7 < 10 ⇒true
>左辺が右辺より大きい場合にtrue7 > 10 ⇒false
<=左辺が右辺以下の場合にtrue7 <= 10 ⇒true
>=左辺が右辺以上の場合にtrue7 >= 10 ⇒false
?:条件演算子。「条件式? 式1 : 式2」条件式がtrueの場合は式1、falseの場合は式2を返す。(10 > 1) "正解":"不正解" ⇒正解
??null合体演算子。左式がnullでなければその値、nullならば右辺の値を返す。null ?? "なし" ⇒なし
論理演算子
演算子概要例(xはtrue、yはfalseを表すものとする)
&&論理積。左右の式がともにtrueの場合にturex && y ⇒false
||論理和。左右の式いずれかがtrueの場合にtruex || y ⇒true
^排他的論理和。左右の式いずれか一方だけがtrueの場合にtruex ^ 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派生クラスでオーバーライドできるようにする
overridevirtualメソッドをオーバーライドする
sealed派生クラスでオーバーライドできないようにする
async非同期メソッドを宣言
externメソッドの本体は外部で定義されている
feildの修飾子
修飾子概要
publicすべてのクラスからアクセス可能
protected internal派生クラスと同じアセンブリ内からのみアクセス可能
protected同じクラスと派生クラスからのみアクセス可能
internal同じアセンブリ内からのみアクセス可能
private同じクラスからのみアクセス可能(既定)
readonly読み取り専用のフィールドを定義
staticクラスフィールドを宣言
new継承されたメンバーを隠蔽
volatile複数スレッドから値が変更される可能性があることを宣言
propatyblockで利用できる修飾子
修飾子概要
publicすべてのクラスからアクセス可能
protected internal派生クラスと同じアセンブリ内からのみアクセス可能
protected同じクラスと派生クラスからのみアクセス可能
internal同じアセンブリ内からのみアクセス可能
private同じクラス内からのみアクセス可能(既定)
static静的プロパティを宣言
new継承されたメンバーを隠蔽
virtual派生クラスでオーバーライドできるようにする
overridevirtualプロパティをオーバーライドできるようにする
abstract抽象メンバーを指定
sealed他のクラスから継承できない
indexerで利用できる修飾子
修飾子概要
publicすべてのクラスからアクセス可能
protected internal派生クラスと同じアセンブリ内からのみアクセス可能
protected同じクラスと派生クラスからのみアクセス可能
internal同じアセンブリ内からのみアクセス可能
private同じクラス内からのみアクセス可能(既定)
new継承されたメンバーを隠蔽
virtual派生クラスでオーバーライドできるようにする
overridevirtualプロパティをオーバーライドできるようにする
abstract抽象メンバーを指定
sealed他のクラスから継承できない
interfaceで利用できる修飾子
修飾子概要
publicすべてのクラスからアクセス可能
internal同じアセンブリ内からのみアクセス可能
partial定義を複数のファイルに分割する
enumで利用できる修飾子
修飾子概要
publicすべてのクラスからアクセス可能
internal同じアセンブリ内からのみアクセス可能(既定)
入れ子クラスで利用できる修飾子
修飾子概要
new継承されたメンバーを隠蔽する
protected同じクラスと派生クラスからアクセス可能
protected internal同じプロジェクト内のクラスと派生クラスからアクセス可能
private同じクラスからのみアクセス可能(既定)
トップへ
フィールドの既定値
boolfalse
byte,int,sbyte,short,uint,ulong,ushort0
long0L
double0.0D
float0.0F
decimal0.0M
char'\0'
enum式「(E)0」によって算出された値(Eは列挙型)
strucctすべての値型フィールドを既定値、すべての参照型フィールドをnullに設定した値

formatの書式
既定のアクセスレベル
対象要素指定できるアクセスレベル既定のアクセスレベル
名前空間-public
型(クラス、構造体など)public,internalinternal
クラスのメンバーpublic,protected,internal,protected internal,private
構造体のメンバーpublic,internal,privateprivate
列挙型(enum)メンバー-public
インターフェイスのメンバー-public
readonlyとconstの相違点
相違点readonlyconst
ローカル変数に付与できない(フィールドのみ)できる
初期化宣言時/コンストラクター宣言時のみ
クラスメンバーstatic指定したときだけ常にクラスメンバー
値決定のタイミング実行時ビルド時
代入できる型フィールドに代入できるものは何でも制限あり
タプルと匿名型の相違点
相違点匿名型タプル
型分類参照型(クラス)値型(構造体)
変更可否不可可
型宣言利用不可利用可

オーバライド可能なメンバー

  1. メソッド
  2. プロパティ
  3. インデクサー
  4. イベント

インターフェイスのメンバー

  1. メソッド
  2. プロパティ
  3. インデクサー
  4. イベント
隠蔽/オーバーライドの条件
項目隠蔽オーバーライド
メソッド名一致一致
引数データ型と数が一致データ型と数が一致
アクセス修飾子制約なし一致
戻値の型制約なし一致

名前解決の優先順位

  1. 現在の名前空間
  2. namespaceブロックの内側で宣言されたusing命令が優先
  3. 名前空間のエイリアスは同名の名前解決よりも優先
  4. 同じ優先順位で名前が衝突した場合はエラー
トップへ

DBコネクション接続文字列のパラメータ

パラメータ既定値意味
Data Sourceブランク接続文字列(DBにより形式は異なる)
(例)Data Source=999.999.999.999:1521/DB01
User Idブランク接続するDBのユーザID
(例)User Id=scott
PasswordブランクユーザIDに対するパスワード
(例)Password=password
PoolingTrueプールの有無(デフォルトはtrue)
(例)Pooling=true
Min Pool Size1最小プール数(デフォルトは0)
(例)Min Pool Size=5
Max Pool Size100最大プール数(デフォルトは100)
(例)Max Pool Size=10
Connection Lifetime0コネクションがプールされてから破棄されるまでの時間
(例)Connection Lifetime=0
Connection Timeout15プールの空いた接続を取得するまでの待機時間(秒)
(例)Connection Timeout=60
DBA PrivilegeブランクORACLE管理権限を指定(SYSDBA or SYSOPER)
(秒)DBA Privilege=DBA
Decr Pool Size1確立され使用していない接続が多すぎる時にCLOSEする接続数
Incr Pool Size5プール内の接続が全て接続されている時に新たに接続する接続数
Statement Cache PurgeFalse接続をプールに戻す時にSQL文キャッシュを消去するかどうか
Statement Cache Size0SQL文キャッシュのサイズ
Proxy User Idブランクプロキシのユーザ名
Proxy Passwordブランクプロキシのパスワード