C# および vb での宣言時の変数のデフォルト値を誰か教えてもらえますか??
5 に答える
C# では、default キーワードを使用してデフォルト値を決定できます。
例えば:
デフォルト(ブール値) デフォルト(整数) デフォルト(int?)
(メソッド)変数のことですか?またはフィールド(インスタンスまたはタイプ)?
メソッドレベルの変数 (少なくとも C# では) の場合、「明確な割り当て」とは、値を読み取る前に値を指定する必要があることを意味するため、無関係です。
フィールドはデフォルトでビット単位のゼロ状態になります。
- null を意味する参照型 (文字列を含む) の場合
- null を意味するfor
Nullable<T>
(int?
etc) - 0 を意味する数値の場合
- 0 値の列挙型が定義されていなくても0 を意味する列挙型の場合
- false を意味するブール値の場合
- DateTime の場合、MinValue と同じことを意味します
- 他の構造体については、ドキュメントを確認する必要がありますが、(うまくいけば賢明な)「ゼロ/空」の値になります。
C# 言語仕様では、値型の場合、既定値は既定のコンストラクターによって割り当てられる値と同じであり、参照型の場合は null であると規定されています。
したがって、値型のデフォルトのコンストラクタ値は次のとおりです。
すべての単純型について、デフォルト値はすべてゼロのビット パターンによって生成される値です。
sbyte、byte、short、ushort、int、uint、long、および ulong のデフォルト値は 0 です。
char のデフォルト値は「\x0000」です。float の場合、デフォルト
値は 0.0f です。double の場合、デフォルト値は 0.0d です。10 進数の場合、デフォルト値は 0.0m です。bool の場合、デフォルト値は false です。
enum-typeE の場合、デフォルト値は 0 です。
struct-type の場合、既定値は、すべての値型フィールドを既定値に設定し、すべての参照型フィールドを null に設定することによって生成される値です。
http://msdn.microsoft.com/en-us/library/aa691142(v=VS.71).aspx
文字列は値型ではありません。
変数の型によって異なります。タイプが null になる可能性がある場合、そのデフォルト値は null になります。Null 許容型はすべて null で始まります。
- 複合型 (String、StringBuilder) = null
- 数値型 (int、decimal、double、byte) = 0
- ブール値 = false
- DateTime = DateTime.MinValue (01/01/0001 00:00:00)
以下を使用して初期値を設定できます。
文字列 s1 = "テスト";
Dim s1 As String = "test"