以下、自分用のメモです。
何故か、忘れる事がめっちゃ多いのでメモ。
#region DefaultValuesSamples-01 /// <summary> /// 各型のデフォルト値についてのサンプルです。 /// </summary> public class DefaultValuesSamples01 : IExecutable { class SampleClass {} struct SampleStruct {} public void Execute() { Console.WriteLine("byte のデフォルト: {0}", default(byte)); Console.WriteLine("char のデフォルト: {0}", default(char) == 0x00); Console.WriteLine("short のデフォルト: {0}", default(short)); Console.WriteLine("ushort のデフォルト: {0}", default(ushort)); Console.WriteLine("int のデフォルト: {0}", default(int)); Console.WriteLine("uint のデフォルト: {0}", default(uint)); Console.WriteLine("long のデフォルト: {0}", default(long)); Console.WriteLine("ulong のデフォルト: {0}", default(ulong)); Console.WriteLine("float のデフォルト: {0}", default(float)); Console.WriteLine("double のデフォルト: {0}", default(double)); Console.WriteLine("decimalのデフォルト: {0}", default(decimal)); Console.WriteLine("string のデフォルト: NULL = {0}", default(string) == null); Console.WriteLine("byte[] のデフォルト: NULL = {0}", default(byte[]) == null); Console.WriteLine("List<string>のデフォルト: NULL = {0}", default(List<string>) == null); Console.WriteLine("自前クラスのデフォルト: NULL = {0}", default(SampleClass) == null); Console.WriteLine("自前構造体のデフォルト: {0}", default(SampleStruct)); } } #endregion
結果は、以下のようになります。
byte のデフォルト: 0 char のデフォルト: True short のデフォルト: 0 ushort のデフォルト: 0 int のデフォルト: 0 uint のデフォルト: 0 long のデフォルト: 0 ulong のデフォルト: 0 float のデフォルト: 0 double のデフォルト: 0 decimalのデフォルト: 0 string のデフォルト: NULL = True byte[] のデフォルト: NULL = True Listのデフォルト: NULL = True 自前クラスのデフォルト: NULL = True 自前構造体のデフォルト: Gsf.Samples.DefaultValuesSample01+SampleStruct
いつも思ってるんだけど、stringの場合はデフォルトでEmpty返してくれたらすごく嬉しいのになー。
================================
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ