C# リファレンス


C# / .NET の単語解説
単語解説
プロジェクト アプリケーションなどを作成する開始地点のこと。
フォーム ウィンドウのこと。
コントロール ボタンやボックスなどの部品のこと。
メソッド "C"でいう「関数」のこと。
プロパティ パラメータ値のこと。
イベント アクションへの反応を通知するもの。「ボタンが押された」など。
例外 実行プログラムのエラーや、予期しない動作のこと。

各プログラミング言語の比較
 Visual
Basic
JavaC++C#JScript
定数の宣言Const(なし)constconstconst
Read Only の宣言ReadOnlyfinalreadonlyreadonly(なし)
列挙型の宣言Enumenumenumenumenum
変数の宣言Dim x As Longint x ;int x ;int x ;var x ;
変数の宣言と初期化Dim x As Long = 5int x = 5 ;int x = 5 ;int x = 5 ;var x = 5 ;
配列の宣言Dim x() As Longint[] x = new int[3] ;int x[3] ;int[] x = new int[3] ;var x = Array() ;
配列の宣言と初期化Dim x() As Long = {1, 2, 3}int[] x = {1, 2, 3} ;int x[3] = {1, 2, 3} ;int[] x = new int[3]{1, 2, 3} ;var x = new Array(1, 2, 3)
文字列から文字を取得GetChar(p,3)p.charAt(3)p[3]p[3]p[3]
null オブジェクトのテストobj = NothingpObj == 0pobj == NULLobj == nullobj == undefined
null オブジェクトの値Nothingnull(なし)nullnull, undefined
条件判断If, Then, ElseIf, Elseif, elseif, elseif, elseif, else
選択Select Caseswitch caseswitch caseswitch caseswitch case
繰り返しFor, For Eachforforfor, foreachfor, for(x in xs)
条件ループDo, While, Loopdo, whiledo, whiledo, whiledo, while
goto 文Goto(なし)gotogoto(なし)
コメント文'
Rem
//
/*〜*/
/**〜*/文書用
//
/*〜*/
//
/*〜*/
///文書用
//
/*〜*/
大文字と小文字の区別なしありありありあり
 Visual
Basic
JavaC++C#JScript
外部からの参照Publicpublicpublicpublicpublic
外部から非参照Friendスコープキーワードを省略するprivateinternalinternal
内部だけで参照Privateprivateprivateprivateprivate
派生クラスからだけアクセス可能Protectedprotectedprotectedprotectedprotected
クラスの全インスタンスで共有Sharedstaticstaticstaticstatic
 Visual
Basic
JavaC++C#JScript
オブジェクトの作成Newnewnewnewnew
関数またはメソッド
(値を返さない)
Subvoidvoidvoidvoid
現オブジェクトの参照Methisthisthisthis
複合データ型の宣言Structure(なし)class, struct, union, __interfaceclass, struct, interfaceclass, interface
オブジェクトの初期化Sub New()コンストラクタコンストラクタコンストラクタコンストラクタ
オブジェクトの直接終了(なし)(なし)~ClassName(なし)(なし)
ガベージコレクションがオブジェクトをクリアする直前の呼び出しFinalizefinalizedestructordestructor(なし)
関数のアドレスの取得AddressOf(なし)__delegatedelegateかっこなしで関数名を使用
オブジェクトが非同期で修正できることの宣言(なし)volatilevolatilevolatile(なし)
イベントの宣言と発生Event, RaiseEvent__event(なし)event(なし)
プリミティブのスレッド化SyncLockThreadinglock(なし)
例外処理Try, Catch, Finallytry, catch, finally, throw__try, __except, __finallytry, catch, finally, throwtry, catch, finally, throw
 Visual
Basic
JavaC++C#JScript
基本クラスの参照MyBasesuper__superbasesuper
インターフェイスの宣言Interfaceinterface__interfaceinterfaceinterface
実装されるインターフェイスの指定Implementsimplementsclass C1 : public I1class C1: I1implements
クラスの宣言Classclassclassclassclass
クラスが継承だけできることの指定MustInheritabstract__abstractabstractabstract
クラスが継承できないことの指定NotInheritablefinal__sealedsealedfinal
クラスの派生Inherits C2class C1
extends C2
class C1 : public C2class C1 : C2class c1 extends c2
メソッドのオーバーライドOverridesキーワード不要キーワード不要overrideキーワード不要
派生クラスに実装しなければならないメソッドの宣言MustOverrideabstract宣言の最後に = 0 を置くabstractabstract
オーバーライドできないメソッドの宣言NotOverridablefinal__sealedsealedfinal
仮想メソッド、プロパティ、プロパティアクセサの宣言Overridableメソッドは既定で仮想virtualvirtualメソッドは既定で仮想
クラスメソッドへのタイプセーフな参照の宣言Delegate(なし)__delegatedelegateかっこなしで関数名を使用
// 参考: MSDN『 各言語のキーワードの比較 』 / ms-help

実行ファイル名の変更手順
// 開発の途中で、実行ファイル名を変更する手順

ケース1.実行ファイル名だけを変更する場合

 ソリューションエクスプローラで、プロジェクトの「プロパティページ」を開き、
 その中の「アセンブリ名」を変更する。

ケース2.プロジェクト名を含めた全てを「手作業で」変更する場合  (1) プロジェクトフォルダ名を、エクスプローラ等で変更する。  (2) プロジェクトフォルダ直下の 全 *.cs, *.csproj, *.sln ファイルについて、    テキストエディタ等で、文字列「旧実行ファイル名」を「新実行ファイル名」    に書き変える。  (3) 開発環境 IDE を立ち上げ、ビルドを行う。その後で、デザイナの表示と、    コードの表示を行う。なお、ビルドを先に行わないと、デザイナの表示が    NG になる場合がある。

プログラムの禁じ手
// やってはいけないプログラムの例(一部)

(1) Form1_Closing() 内で e.Cancel = true はダメ!

    もし、そうすると、OS(Windows)が、「シャットダウン」できなくなってしまう!

(2) System.Windows.Forms.Timer で「時計」を作ってはダメ!

    システムに対して重い負荷がかかった場合、タイマのイベント間隔が、設定時間より
    長くなるから。→ MSDN『 Timer Interval プロパティの制限 』

(3) 子スレッドの中で、親に含めるコントロールの作成(new)はダメ!

    あるスレッドで作成されたコントロールに対して、別スレッドのコントロールを親に
    することはできない。→ 例外が発生する。

(4) デストラクタ内で、ファイルを Close してはダメ! 

    デストラクタが、いつ呼び出されるか(実行されるか)は、ガベージコレクタによって
    決定されるため、プログラマは制御できないから。

(5) 不用意なガベージコレクションの強制実行 System.GC.Collect() はダメ! 

    ガベージコレクタは、コレクションを実行する前に、現在実行されているすべての
    スレッドを中断するから。
    ただし、コードの特定の場所で、使用しているメモリ量が大きく減少するような時
    は、この限りではない(適切な実行である)。

再配布可能 dll ファイル
// Microsoft Visual Studio に含まれている再配布可能ファイルを調べる

(1) "C:\Program Files\Microsoft Visual Studio .NET\1041\redist.txt"

(2) "C:\Program Files\Microsoft Visual Studio .NET\Visual C# .NET Standard - Japanese\eula.txt"

(3) Microsoft 著作権使用許諾と商標ガイドライン
   Microsoft『 マイクロソフトの著作物の使用について 』

.NET Framework の互換性
// .NET Framework バージョン 1.0 と 1.1 について

.NET Framework バージョン 1.0 と 1.1 では、注意すべき 大きな相違点があると思った
が、それほどでもないようだ・・・。

下位互換性 のおかげで、Visual Studio .NET 2002  でコンパイルしたコードでも、ほぼ
問題なく Framework 1.1 環境で動作するようだ。

当然だが、Visual Studio .NET 2002 は、Framework 1.0 用にコンパイルする。どうやっ
ても、Framework 1.1 用にコンパイルすることは、不可能!  Framework 1.1 特有の機能
を利用したい場合は、Visual Studio .NET 2003 でコンパイルするしかないようだ。

// Note: Formデザイン面では、Label.PreferredHeight について、重要な相違点がある。
//       .NET Framework バージョン 1.0 では ジャストサイズを返すが、1.1 では 3px
//       ほど大きな値を返す。・・・ by 私の実験
// 参考: MSDN『 互換性の問題とバージョン間の変更点 』

// 参考: インサイド .NET Framework [改訂版]『 アセンブリのロードとセキュリティ 』

名前の付け方
識別対象形式
クラスPascalAppDomain
列挙型PascalErrorLevel
列挙値PascalFatalError
イベントPascalValueChange
例外クラスPascalWebException("Exception"で終了)
読み取り専用の静的フィールドPascalRedValue
インターフェイスPascalIDisposable("I"で開始)
メソッドPascalToString
名前空間PascalSystem.Drawing
パラメータCamel typeName
プロパティPascalBackColor
1) Pascal 形式(例:BackColor) ← ほとんどが この形式

  各単語の最初の文字を大文字にする。3文字以上対して使用する。

2) Camel 形式 (例:backColor) ← パラメータは この形式

  最初の文字は小文字にし、後の各単語の最初の文字は大文字にする。

3) 大文字形式 (例:IO)

  すべての文字を大文字にする。2文字以下にだけ使用する。

// 参考: MSDN『 .NET Framework 名前付けのガイドライン 』 / ms-help

// 参考: MSDN『 Visual Studio コーディング技法 』 / ms-help

予約語 (.NET Framework)
// 次に示すキーワードは、型名として使用しない方がよい!
AddHandlerAddressOfAliasAndAnsi
AsAssemblyAutoBaseBoolean
ByRefByteByValCallCase
CatchCBoolCByteCCharCDate
CDecCDblCharCIntClass
CLngCObjConstCShortCSng
CStrCTypeDateDecimalDeclare
DefaultDelegateDimDoDouble
EachElseElseIfEndEnum
EraseErrorEventExitExternalSource
FalseFinalizeFinallyFloatFor
FriendFunctionGetGetTypeGoto
HandlesIfImplementsImportsIn
InheritsIntegerInterfaceIsLet
LibLikeLongLoopMe
ModModuleMustInheritMustOverrideMyBase
MyClassNamespaceNewNextNot
NothingNotInheritableNotOverridableObjectOn
OptionOptionalOrOverloadsOverridable
OverridesParamArrayPreservePrivateProperty
ProtectedPublicRaiseEventReadOnlyReDim
RegionREMRemoveHandlerResumeReturn
SelectSetShadowsSharedShort
SingleStaticStepStopString
StructureSubSyncLockThenThrow
ToTrueTryTypeOfUnicode
UntilvolatileWhenWhileWith
WithEventsWriteOnlyXorevalextends
instanceofpackagevar  

予約語 (C# コンパイラ)
// 次に示すキーワードは、名前(変数名/関数名など)として使用できない!
abstractasbaseboolbreak
bytecasecatchcharchecked
classconstcontinuedecimaldefault
delegatedodoubleelseenum
eventexplicitexternfalsefinally
fixedfloatforforeachgoto
ifimplicitinintinterface
internalislocklongnamespace
newnullobjectoperatorout
overrideparamsprivateprotectedpublic
readonlyrefreturnsbytesealed
shortsizeofstackallocstaticstring
structswitchthisthrowtrue
trytypeofuintulongunchecked
unsafeushortusingvirtualvoid
volatilewhile   
// Note: プリフィックスとして @ を付けると、名前として使用できる。

型の分類
値型  (Value Type)    : データを直接アクセスする型
   │                           → 数値、bool、enum、struct
型 ┤
   │
   └ 参照型(Reference Type): データを間接アクセスする型
                                → string、class、object

// Note: struct 型と class 型は、値型と参照型という違いを除けば、ほぼ同じ機能を
//       持っている。
//       class 型の方が 汎用性は高いが、パフォーマンスは struct 型の方が良い。

// Note: 参照型では、オブジェクトを参照する変数を、単純に代入文でコピーしても、
//       実体(オブジェクト)はコピーされないので、注意すること!

// Note: 一般に、値型は、実体と変数を別々に管理する必要がないため、参照型よりも
//       実行速度が速い。ただし、変数のデータサイズが大きい場合、変数をコピーし
//       ても実体をコピーする必要がない参照型の方が、値型よりも「利点」が多い。

基本的なデータ型
// 整数型

sbyte        8  bit 符号付き整数(-128 〜 127)
byte         8  bit 符号なし整数(0 〜 255)

short        16 bit 符号付き整数(-32768 〜 32767)
ushort       16 bit 符号なし整数(0 〜 65535)

int          32 bit 符号付き整数
uint         32 bit 符号なし整数

long         64 bit 符号付き整数
ulong        64 bit 符号なし整数

char         16 bit 符号なし整数(0 〜 65535)

// 浮動小数点型 float 32 bit 浮動小数点(有効桁 約 7 桁) double 64 bit 浮動小数点(有効桁 約 16 桁)
// decimal 型(符号付き固定小数点値) decimal 有効桁 約 29 桁 // 丸め誤差を使用しない(財務計算向き)
// bool 型 bool True または False
// 列挙型 enum 名前付き定数(既定は 0, 1, 2, ...)で、値が限定されている場合に使う 例: enum days { sun, mon, tue, wed, thu, fri, sat } ; int x = (int)days.wed ; // x ← 3
// 文字列型 string Unicode(内部扱いが)の文字列

定数の型表示
// 数値の後にサフィックスをつけて型を明示できる

(なし)       int, uint, long, ulong
U  or u      uint, ulong
L  or l      long, ulong
UL or ul     ulong

(小数点数)   double
D  or d      double
F  or f      float
M  or m      decimal

数値定数
Math.E                   自然対数の底 double型 (2.71828182845905)
Math.PI                  円周率       double型 (3.14159265358979)

Int32.MaxValue 最大有効値 (+2147483647) Int32.MinValue 最小有効値 (-2147483648) Int64.MaxValue 最大有効値 (+9223372036854775807) Int64.MinValue 最小有効値 (-9223372036854775808) Single.Epsilon 0より大きい最小値 (1.4e-45) Single.MaxValue 最大有効値 (+3.402823e38) Single.MinValue 最小有効値 (-3.402823e38) Single.NaN NaN(非数値) (0を0で除算した結果) Single.PositiveInfinity +∞ (正数を0で除算した結果) Single.NegativeInfinity −∞ (負数を0で除算した結果) Double.Epsilon 0より大きい最小値 (4.94065645841247e-324) Double.MaxValue 最大有効値 (+1.79769313486232e308) Double.MinValue 最小有効値 (-1.79769313486232e308) Double.NaN NaN(非数値) (0を0で除算した結果) Double.PositiveInfinity +∞ (正数を0で除算した結果) Double.NegativeInfinity −∞ (負数を0で除算した結果) Decimal.MaxValue 最大有効値 (+79,228,162,514,264,337,593,543,950,335) Decimal.MinValue 最小有効値 (-79,228,162,514,264,337,593,543,950,335) Decimal.Zero 0 Decimal.One +1 Decimal.MinusOne -1

演算子の優先順位
// 優先順位の高いものから順に示す
x.y f(x) a[x] x++ x-- new typeof checked unchecked
+ - ! ~ ++x --x (T)x     【 +, - は単項式 】
* / %
+ -                【 +, - は2項式 】
<< >>
< > <= >= is as
== !=
&
^
|
&&
||
?:
= *= /= %= += -= <<= >>= &= ^= |=

算術演算子
x + y        加算
x - y        減算
x * y        乗算
x / y        除算

x % y        剰余

x ++         +1
x --         -1

論理演算子
x & y        AND
x | y        OR
x ^ y        Exclusive OR

! x          NOT  ← x は bool 型に限る

x && y       AND(ショートサーキット:必要な場合のみ右辺を評価する)
x || y       OR (ショートサーキット:必要な場合のみ右辺を評価する)

ビット演算子
x & y        AND
x | y        OR
x ^ y        Exclusive OR

~ x          Complement(各ビットの反転)

シフト演算子
x << y       左シフト
x >> y       右シフト

関係演算子
x == y       等価
x != y       不等価

x <  y       より小さい
x >  y       より大きい

x <= y       以下
x >= y       以上

// Note: string 型(参照型)に == または != 演算子が使用された場合には、参照の代わり
//       に 値 を比較する。

// Note: == は、string 以外の参照型では、同じ object を参照している場合にのみ true
//       となる。

条件演算子
条件式 ? true用の式 : false用の式

キャスト演算子
// 指定した型に変換する

(型名)x

型情報演算子
// 型名のサイズをバイト長で返す

sizeof(型名)

// 型名を Type 型で返す typeof(x)

演算子 テスター
// 演算子をテストするツール 【 ダウンロード 8KB 】

// X 演算子 Y または 演算子 X の実行結果を表示する


制御ステートメント if
if      (条件式) 実行ステートメント ;

if (条件式) 実行ステートメント ; else 実行ステートメント ;
if (条件式) 実行ステートメント ; else if (条件式) 実行ステートメント ; else 実行ステートメント ;

制御ステートメント switch
// 基本形

switch (式)
{
    case 値: 実行ステートメント ; break ;
    case 値: 実行ステートメント ; break ;
    case 値: 実行ステートメント ; break ;
    default: 実行ステートメント ; break ;
}

// break でなく goto による制御 switch (式) { case 値: 実行ステートメント ; goto case 値 ; case 値: 実行ステートメント ; goto default ; case 値: 実行ステートメント ; break ; default: 実行ステートメント ; break ; }
// 複数のラベルを使用 switch (式) { case 値: // 下記を実行 case 値: 実行ステートメント ; break ; case 値: 実行ステートメント ; break ; default: 実行ステートメント ; break ; }

制御ステートメント while
// 基本形

while (条件式)  ← 条件式の中で 変数宣言は できない!
{
    実行ステートメント
}

// 無限ループ while (true) ← true の代わりに 1 では コンパイルエラーとなる! { 実行ステートメント } // Note: continue、break の使用可。

制御ステートメント do
do
{
    実行ステートメント

} while (条件式) ;  ← 条件式の中で 変数宣言は できない!

// Note: continue、break の使用可。

制御ステートメント for
for (初期化 ; 条件式 ; 後処理)  ← 条件式の中で 変数宣言は できない!
{
    実行ステートメント
}

// Note: continue、break の使用可。

// Note: 初期化、条件式、後処理 は それぞれ省略可。

// Note: 初期化で宣言した変数は for 内で有効なローカル変数となる!

制御ステートメント foreach
foreach (変数宣言 in 配列名)
{
    実行ステートメント
}

// Note: continue、break の使用可。

// Note: 変数宣言での変数は foreach 内で有効なローカル変数となる!

// Note: 配列の要素を、書き換えることはできない!

// Note: 配列の要素を、「添字の順番」に読み出す保証はない!

制御ステートメント goto
goto ラベル名;

ラベル名:

例外の種類
// 標準の例外型
クラス名基本型説明
ExceptionObjectすべての例外の基本クラス
SystemExceptionExceptionランタイムが生成するエラーの基本クラス
IndexOutOfRangeExceptionSystemException配列のインデックスが範囲外のエラー
NullReferenceExceptionSystemExceptionnull オブジェクトの参照エラー
例:object o = null ; o.ToString() ;
InvalidOperationExceptionSystemException無効な状態のエラー
例:空コレクションで Enumerator.GetNext() ;
ArgumentExceptionSystemExceptionすべての引数例外の基本クラス
ArgumentNullExceptionArgumentExceptionnull の引数は NG なエラー
例:String s = null ; "abc".IndexOf(s) ;
ArgumentOutOfRangeExceptionArgumentException引数が指定外範囲のエラー
例:String s = "abc" ; s.Chars[9] ;
ExternalExceptionSystemExceptionランタイム以外の例外の基本クラス
ComExceptionExternalExceptionCOM 呼び出しで、認識できない HRESULT が返された時のエラー
SEHExceptionExternalExceptionWin32 構造化例外ハンドラのエラー
// Note: 通常のエラー、予期されるエラー、正常な制御フローに対して、例外を使用する
//    のは良くない!

// 参考: MSDN『 エラーの発生および処理のガイドライン 』 / ms-help

コメントの記述
//...        行末までのコメント

/*...*/      区間のコメント(ネスティング不可!)

書式指定 (数値)
d数字    整数を10進数で指定した最小桁数で示す(桁数不足の場合、左側に0を埋める)
                                             (整数型以外では、実行エラーが発生)
         例:"d"  → 123
         例:"d5" → 00123

x数字    整数を16進数で指定した最小桁数で示す(桁数不足の場合、左側に0を埋める)
                                             (整数型以外では、実行エラーが発生)
         例:"x"  → 7b
         例:"x5" → 0007b
         例:"X5" → 0007B

f数字    数値を10進数で指定した小数点桁数で示す(桁数不足の場合、右側に0を埋める)
                                               (切り捨てる桁数部分は、四捨五入)
         例:"f6" → 123.456000
         例:"f2" → 123.46

c数字    先頭に「\」を付ける『f数字』

n数字    整数部に3桁ごとに「,」を挿入する『f数字』

p数字    数値をパーセント値(元の数値を100倍)で、
         整数部に3桁ごとに「,」を挿入する、末尾に「%」を付ける『f数字』

e数字    数値を 指数 で指定した小数点桁数で示す(桁数不足の場合、右側に0を埋める)
                                               (切り捨てる桁数部分は、四捨五入)
         例:"e8" → 1.23456000e+001
         例:"e4" → 1.2346e+001
         例:"E4" → 1.2346E+001

g数字    数値を 適当な形式 で指定した桁数で示す(桁数不足の場合、0を埋めない)
                                               (切り捨てる桁数部分は、四捨五入)
         例:"g"  → 123.456
         例:"g4" → 123.5
         例:"g8" → 123.456

// Note: 書式指定のアルファベットは、大文字でもOK。
//       'X'の場合、表示される数値(16進数)は、大文字となる。
//       'E'の場合、表示される指数記号は、大文字'E'となる。

書式指定 (日付と時刻)
// 標準の書式指定

d        短い形式の年月日  例:2003/01/09
D        長い形式の年月日  例:2003年1月29日

Y or y   年月              例:2003年1月
M or m   月日              例:1月29日

t        短い形式の時刻    例:10:28
T        長い形式の時刻    例:10:28:24

g        d + " " + t       例:2003/01/29 10:28
G        d + " " + T       例:2003/01/29 10:28:24
f        D + " " + t       例:2003年1月29日 10:28
F        D + " " + T       例:2003年1月29日 10:28:24

R or r   RFC1123           例:Wed, 29 Jan 2003 10:28:24 GMT

s        日付と時刻        例:2003-01-29T10:28:24
u        日付と時刻        例:2003-01-29 10:28:24Z
U        世界時刻          例:2003年1月29日 01:28:24

// カスタムの書式指定 yy 西暦下2桁 例:03 yyyy 西暦4桁 例:2003 M 月 (1 〜12) MM 月 (01〜12) MMM 月 (省略名) 例:1 MMMM 月 (完全名) 例:1月 d 日付(1 〜31) dd 日付(01〜31) ddd 曜日(省略名) 例:水 dddd 曜日(完全名) 例:水曜日 t 午前/午後 例:午 tt 午前/午後 例:午前 h 時間(1 〜12) hh 時間(01〜12) H 時間(0 〜23) HH 時間(00〜23) m 分 (0 〜59) mm 分 (00〜59) s 秒数(0 〜59) ss 秒数(00〜59) z タイムゾーンのオフセット 例:+9 zz タイムゾーンのオフセット 例:+09 : : / / \文字 文字をそのまま表示

書式指定 テスター
// 書式指定をテストするツール 【 ダウンロード 5KB 】

// 数値.ToString(書式) の実行結果を表示する


特殊文字
// 主なエスケープシーケンス

\'          「'」   0x27
\"          「"」   0x22
\\          「\」   0x5C
\0           Null   0x00
\n           改行   0x0A
\r           Return 0x0D
\t           Tab    0x09

// 3文字表記("??=", "??/", "??!" など) 標準では、サポートされていないようだ。

正規表現 (一般)
// 主な正規表現

.            任意の文字('\n'以外の文字)

[...]        [ ] 内の任意の1文字
[^...]       [ ] 内の文字以外の任意の1文字
[a-z]        文字の範囲
                                             ┐
\w           英数字     == [a-zA-Z_0-9]      │
\W           英数字以外 == [^a-zA-Z_0-9]     │
\s           空白       == [ \f\n\r\t\v]     │ 全角文字も同様に含む!
\S           空白以外   == [^ \f\n\r\t\v]    │
\d           数字       == [0-9]             │
\D           数字以外   == [^0-9]            │
                                             ┘
^            行頭
$            行末

*            0 回以上の一致
+            1 回以上の一致
?            0 回、または、1 回の一致
{N}          N 回の一致
{N,}         少なくとも N 回の一致
{N,M}        N 回以上、M 回以下の一致

*?           最短一致の *
+?           最短一致の +
??           最短一致の ?
{N}?         最短一致の {N}
{N,}?        最短一致の {N,}
{N,M}?       最短一致の {N,M}

(...)        グループ化(グループ番号が 1 から順に付く)
(?<name>...) グループ化(グループ名 name)
\N           前方のグループ番号 N  と同じ部分表現
\k<name>     前方のグループ名 name と同じ部分表現
(...|...)    '|' の左右のいずれか

(?#コメント) 正規表現に挿入するインラインコメント

正規表現 (置換)
// 置換パターンだけで有効な正規表現

$N           グループ番号 N  と一致した最後の部分文字列
${name}      グループ名 name と一致した最後の部分文字列
$$          「$」
$&           一致したパターン全体
$`           一致した場所より前にある入力文字列のすべて
$'           一致した場所より後にある入力文字列のすべて
$+           キャプチャされた最後のグループ
$_           入力文字列全体

正規表現 テスター
// 正規表現をテストするツール 【 ダウンロード 4KB 】

// Regex.Match(対象文字列, 正規表現) の実行結果を表示する


Windows ショートカットキー
Ctrl + Aすべて選択
Ctrl + Cコピー
Ctrl + F (アプリに依存)検索
Ctrl + H (アプリに依存)置換
Ctrl + N (アプリに依存)新規作成
Ctrl + O (アプリに依存)開く
Ctrl + P (アプリに依存)印刷
Ctrl + S (アプリに依存)上書き保存
Ctrl + V貼り付ける
Ctrl + X切り取る
Ctrl + Z元に戻す
Del削除
Shift+ Del完全に削除(ごみ箱に入れない)
BS1階層 上のフォルダを表示
Enterコマンドを実行
Alt + Enterプロパティを表示
Esc現在のタスクを取り消す
Alt + Esc開いた順番に、項目を循環
Ctrl + Esc[スタート] メニューを表示
Spaceチェック ボックスのオン/オフを切り替える
Alt + Spaceメニューを開く
Tab次のオプションに移動
Shift+ Tab前のオプションに移動
Ctrl + Tab次のタブに移動
Ctrl + Shift + Tab前のタブに移動
Alt + Tab開いているアイテムを切り替える
Ctrl + ドラッグコピー
Ctrl + Shift + ドラッグショートカットを作成
Homeウィンドウの最上部を表示
Endウィンドウの最下部を表示
右隣のメニュー/サブメニューを開く
左隣のメニュー/サブメニューを閉じる
Ctrl + →カーソルを次の語の先頭に移動
Ctrl + ←カーソルを前の語の先頭に移動
Ctrl + ↓カーソルを次の段落の先頭に移動
Ctrl + ↑カーソルを前の段落の先頭に移動
Shift+ 方向キー複数の項目を選択
Ctrl + Shift + 方向キーテキスト ブロックを強調表示
Shift+ CDドライブ挿入CD の自動再生を防ぐ
メニュー下線文字対応するコマンドを実行
Alt + メニュー下線文字対応するメニューを表示
F1ヘルプを表示
F2名前を変更
F3ファイルまたはフォルダを検索
F4一覧を表示
Ctrl + F4複数の中、アクティブなドキュメントを閉じる
Alt + F4項目/プログラムを終了
F5最新の情報に更新
F6画面要素を循環
F10メニュー バーをアクティブにする
Shift+ F10ショートカット メニューを表示
PrintScreen画面全体のスナップショットをクリップボードに保存
Alt + PrintScreenアクティブなウィンドウのスナップショットをクリップボードに保存

HTML オブジェクト
// IHTMLDocument2 インターフェイス

url             URL を示す文字列

title           <TITLE> 〜 </TITLE> 内の文字列

body            <BODY> 〜 </BODY> の要素

all.tags(タグ)  指定したタグの要素コレクション  注:タグは大文字表記

                例:// HTML 中の全ての <A ...> 〜 </A> を textBox1 に表示する

                    IHTMLElementCollection html_A =
                        html_doc.all.tags("A") as IHTMLElementCollection ;
                    foreach (IHTMLElement x in html_A)
                    {
                        textBox1.Text += x.outerHTML + "\r\n" ;
                    }

// IHTMLDocument3 インターフェイス documentElement <HTML> 〜 </HTML> の要素
// IHTMLElement インターフェイス innerHTML タグの中のHTMLテキスト outerHTML タグ全体のHTMLテキスト innerText タグの中のテキスト outerText タグ全体のテキスト click() クリックする // 参考: MSDN『 IHTMLDocument2 Interface 』 // 参考: MSDN『 IHTMLDocument3 Interface 』 // 参考: MSDN『 IHTMLElement Interface 』

Environment クラス
// 現在の環境、プラットフォームに関する情報を提供
プロパティ名型名解説
CommandLine stringコマンドライン全体の文字列
CurrentDirectorystring現在の(このプロセス開始の)ディレクトリ
ExitCode int プログラムの終了コード(既定値は0)
MachineName stringPC の NetBIOS 名
NewLine string改行文字列 "\r\n"
OSVersion OperatingSystemOS のバージョン
StackTrace stringスタックトレース情報(デバッグ用)
SystemDirectory stringシステムディレクトリの絶対パス
 例) "C:\WINDOWS\system32"
TickCount int システム(PC)が起動してからの ms 単位の経過時間
 注) 最大 24.9日 までしかカウントできない
UserDomainName stringホストコンピュータのネットワークドメイン名
UserInteractive bool プロセスがユーザ対話モードで実行されてるかどうか
UserName string現スレッドのユーザ名(ログオンしている人の名前)
Version Version共通言語ランタイム アセンブリのバージョン番号
WorkingSet long プロセスが使用している物理メモリ量(バイト数)
 注) Windows 98 / ME は 非サポート
// Note: CurrentDirectory, ExitCode は、情報の取得だけでなく、設定も可能。

// 参考: MSDN『 .NET Framework クラス ライブラリ Environment メンバ 』 / ms-help

スタイル FormBorderStyle
FormBorderStyle.FixedSingle FormBorderStyle.Fixed3D
FormBorderStyle.FixedDialog FormBorderStyle.Sizable
FormBorderStyle.FixedToolWindow FormBorderStyle.SizableToolWindow
FormBorderStyle.None

ボタン MessageBoxButtons
MessageBoxButtons.AbortRetryIgnore
MessageBoxButtons.OK
MessageBoxButtons.OKCancel
MessageBoxButtons.RetryCancel
MessageBoxButtons.YesNo
MessageBoxButtons.YesNoCancel

アイコン MessageBoxIcon
MessageBoxIcon.Asterisk
MessageBoxIcon.Error
MessageBoxIcon.Exclamation
MessageBoxIcon.Hand
MessageBoxIcon.Information
MessageBoxIcon.Question
MessageBoxIcon.Stop
MessageBoxIcon.Warning

カーソル Cursors
Cursors.AppStarting Cursors.Arrow Cursors.Cross
Cursors.Default Cursors.Hand Cursors.Help
Cursors.HSplit Cursors.IBeam Cursors.No
Cursors.NoMove2D Cursors.NoMoveHoriz Cursors.NoMoveVert
Cursors.PanEast Cursors.PanNE Cursors.PanNorth
Cursors.PanNW Cursors.PanSE Cursors.PanSouth
Cursors.PanSW Cursors.PanWest Cursors.SizeAll
Cursors.SizeNESW Cursors.SizeNS Cursors.SizeNWSE
Cursors.SizeWE Cursors.UpArrow Cursors.VSplit
Cursors.WaitCursor

グラフィックス ファイル形式
// GDI+ がサポートする グラフィックス ファイル形式
BMP
(BitMaP)
System.Drawing.Imaging.ImageFormat.Bmp
Windowsで使用される標準形式。
ピクセルあたりのビット数は、1 / 4 / 8 / 15 / 24 / 32 / 64 (24ビットが一般的)。非圧縮形式。
GIF
(Graphics Interchange Format)
System.Drawing.Imaging.ImageFormat.Gif
Webページでの一般的な形式。
ピクセルあたりのビット数は、1 / 2 / 4 / 8。圧縮プロセスで情報が失われることはない。
1つの色を透明に指定し、背景色を持つことができる。また、複数のイメージを格納して、アニメーションを作成できる。
JPEG
(Joint Photographic Experts Group)
System.Drawing.Imaging.ImageFormat.Jpeg
写真など自然の景色に適した形式。
ピクセルあたり24ビットで、1600万色以上を表示できる。圧縮プロセス(圧縮レベルは任意に設定できる)で、情報の一部が失われる!透明の色やアニメーションはサポートしない。
EXIF
(EXchangeable Image File)
System.Drawing.Imaging.ImageFormat.Exif
デジカメで使用される形式。
JPEG仕様に基づいて圧縮されたイメージが格納される。ファイルには、撮影日付、シャッター速度、露出時間、、カメラの情報(メーカー、モデルなど)も格納される。
PNG
(Portable Network Graphics)
System.Drawing.Imaging.ImageFormat.Png
GIFの発展した形式。
ピクセルあたり 8 / 24 / 48 ビットの色、および、1 / 2 / 4 / 8 / 16 ビットのグレースケールを格納できる。背景色との混合程度を示すアルファ値、ガンマ補正情報、色補正情報も格納できる。圧縮しても情報は失われない。イメージを同時進行で表示できる。
TIFF
(Tag Image File Format)
System.Drawing.Imaging.ImageFormat.Tiff
イメージ処理アプリで広くサポートされる形式。
ピクセルあたり任意のビット数を持ち、さまざまな圧縮アルゴリズムを使用できる。
複数のイメージを格納でき、イメージに関連する情報 (スキャナの種類、圧縮の種類、イメージの向きなど) も格納できる。
// 参考: MSDN『 .NET Framework 開発者ガイド ビットマップの種類 』 / ms-help

// 参考: MSDN『 Visual Studio GDI+ グラフィック 』 / ms-help

グラフィックス ピクセル形式
System.Drawing.Imaging.PixelFormat.メンバ名
メンバ名 bit数 A R G B コメント
Format1bppIndexed 1         インデックス付きカラー(2色)
Format4bppIndexed 4         インデックス付きカラー(16色)
Format8bppIndexed 8         インデックス付きカラー(256色)
Format16bppGrayScale 16         16 bitの灰色を指定
Format16bppRgb555 16 0 5 5 5  
Format16bppRgb565 16 0 5 6 5  
Format16bppArgb1555 16 1 5 5 5  
Format24bppRgb 24 0 8 8 8  
Format32bppRgb 32 0 8 8 8  
Format32bppArgb 32 8 8 8 8  
Format32bppPArgb 32 8 8 8 8 A に応じて RGB を前乗算する
Format48bppRgb 48 0 16 16 16  
Format64bppArgb 64 16 16 16 16  
Format64bppPArgb 64 16 16 16 16 A に応じて RGB を前乗算する
Alpha           前乗算しないアルファ値を含む
Canonical           予約済
DontCare           指定なし
Extended           予約済
Gdi           GDI カラーを含む
Indexed           カラーインデックス値を含む
Max           この列挙体の最大値
PAlpha           前乗算されるアルファ値を含む
Undefined           未定義
// 参考: MSDN『 .NET Framework クラスライブラリ PixelFormat 列挙体 』 / ms-help

色の指定

(C) 緑のバイク