DOBON.NETプログラミング道掲示板

■35266 / 親記事)  c#で日付型の定義の仕方で質問があります。
  
□投稿者/ sun 一般人(1回)-(2022/12/02(Fri) 15:58:32)
  • アイコン環境/言語:[C#] 
    分類:[.NET] 

    はじめまして。
    C#でプログラムを組むことになったのですが、よくわからない定義の仕方がありまして、ググったのですが分かりませんでした。
    どなたかおしえていただけないでしょうか?

    下記の?の意味が分からなくて。
     public decimal? id;
     public DateTime? edate;



マルチポストを報告
違反を報告
引用返信 削除キー/
■35267 / ResNo.1)  Re[1]: c#で日付型の定義の仕方で質問があります。
□投稿者/ 魔界の仮面弁士 大御所(1497回)-(2022/12/02(Fri) 17:03:40)
  • アイコン2022/12/02(Fri) 23:51:36 編集(投稿者)

    No35266に返信(sunさんの記事)
    > 下記の?の意味が分からなくて。
    >  public decimal? id;
    >  public DateTime? edate;
    これらは
     public Nullable<decimal> id;
     public Nullable<DateTime> edate;
    の省略表記です。
    こうしたデータ型は「null 許容値型」と呼ばれます。


    string や Form などは「クラス」です。
    クラスは「参照型」であり、default 値は null です。

    decimal や int や bool や DateTime は「構造体」です。
    構造体は「値型」であり、default 値はゼロです。

    そして構造体には null をセットできません。

    string a = default(string); // string a = null; と同義
    int b = default(int); // int b = 0; と同義
    bool c = default(bool); // bool c = false; と同義

    しかし Nullable<T> すなわち T? 型にすると、null が許容されます。

    int? x = null; // 0 とは異なる
    int? y = 123;
    int? z = x + y;

    たとえば bool 型は、true と false の二値のみの型ですが、
    bool? 型にすれば、true と false と null の三値を持てることになります。


    > C#でプログラムを組むことになったのですが、
    「C#」ではなく、
    「C#」と書いた方が良いでしょう。


    日本工業規格 JIS X 3015 "プログラミング言語C#"
    →序文 6 [頭字語及び略語]
    》 箇条6は,参考であって,規定ではない。
    (中略)
    》 C#は,“しーしゃーぷ”と発音する。
    》 C#は,LATIN CAPITAL LETTER C (U+0043)の次にNUMBER SIGN # (U+0023)を書く。

    ECMA-334 "C# Language Specification"
    ISO/IEC 23270:2006 "Information technology -- Programming languages -- C#"
    →Introduction 6. [Acronyms and abbreviations]
    》 The name C# is pronounced “C Sharp”.
    》 The name C# is written as the LATIN CAPITAL LETTER C (U+0043) followed by the NUMBER SIGN # (U+0023).
違反を報告
引用返信 削除キー/
■35268 / ResNo.2)  Re[2]: c#で日付型の定義の仕方で質問があります。
□投稿者/ sun 一般人(2回)-(2022/12/02(Fri) 20:17:34)
  • アイコンこういう書き方があるの初めて知りました。

    どういう時に使用すると有益なのか、これからいろいろと書いてみて経験していきたいと思います。

    C#も記載の仕方気をつけます。

    ありがとうございました。

解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -