How can I set the property value to 0 if the referenced model is NULL?












0















I'm calculating the value for WageCost in ScheduleWeek from ScheduleDays like this (the property name is the same for wage cost in a day and in a week):



public double WageCost => ScheduleDays.Sum(w => w.WageCost);


But if ScheduleDays is null, I get an exception. How can I set the value of WageCost to 0 if no ScheduleDays exist?










share|improve this question


















  • 8





    ScheduleDays?.Sum(w => w.WageCost) ?? 0;

    – SeM
    Nov 15 '18 at 13:29











  • Write a check for null. SeM gave you the new null-conditional opeartor wich isa convencience feature that was added with C# 6 or so. But a good old if(ScheduleDays == null) WageCost = 0; would also work.

    – Christopher
    Nov 15 '18 at 13:30













  • @Christopher If I remember correctly, expression bodied properties was added in c#6. So I assumed he is using >=c#6.

    – SeM
    Nov 15 '18 at 13:34













  • @SeM: It is a solid asumption that anyone has access to those right now. I was just mentioning it for completeness.

    – Christopher
    Nov 15 '18 at 13:38
















0















I'm calculating the value for WageCost in ScheduleWeek from ScheduleDays like this (the property name is the same for wage cost in a day and in a week):



public double WageCost => ScheduleDays.Sum(w => w.WageCost);


But if ScheduleDays is null, I get an exception. How can I set the value of WageCost to 0 if no ScheduleDays exist?










share|improve this question


















  • 8





    ScheduleDays?.Sum(w => w.WageCost) ?? 0;

    – SeM
    Nov 15 '18 at 13:29











  • Write a check for null. SeM gave you the new null-conditional opeartor wich isa convencience feature that was added with C# 6 or so. But a good old if(ScheduleDays == null) WageCost = 0; would also work.

    – Christopher
    Nov 15 '18 at 13:30













  • @Christopher If I remember correctly, expression bodied properties was added in c#6. So I assumed he is using >=c#6.

    – SeM
    Nov 15 '18 at 13:34













  • @SeM: It is a solid asumption that anyone has access to those right now. I was just mentioning it for completeness.

    – Christopher
    Nov 15 '18 at 13:38














0












0








0








I'm calculating the value for WageCost in ScheduleWeek from ScheduleDays like this (the property name is the same for wage cost in a day and in a week):



public double WageCost => ScheduleDays.Sum(w => w.WageCost);


But if ScheduleDays is null, I get an exception. How can I set the value of WageCost to 0 if no ScheduleDays exist?










share|improve this question














I'm calculating the value for WageCost in ScheduleWeek from ScheduleDays like this (the property name is the same for wage cost in a day and in a week):



public double WageCost => ScheduleDays.Sum(w => w.WageCost);


But if ScheduleDays is null, I get an exception. How can I set the value of WageCost to 0 if no ScheduleDays exist?







c#






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 13:27









StianStian

364316




364316








  • 8





    ScheduleDays?.Sum(w => w.WageCost) ?? 0;

    – SeM
    Nov 15 '18 at 13:29











  • Write a check for null. SeM gave you the new null-conditional opeartor wich isa convencience feature that was added with C# 6 or so. But a good old if(ScheduleDays == null) WageCost = 0; would also work.

    – Christopher
    Nov 15 '18 at 13:30













  • @Christopher If I remember correctly, expression bodied properties was added in c#6. So I assumed he is using >=c#6.

    – SeM
    Nov 15 '18 at 13:34













  • @SeM: It is a solid asumption that anyone has access to those right now. I was just mentioning it for completeness.

    – Christopher
    Nov 15 '18 at 13:38














  • 8





    ScheduleDays?.Sum(w => w.WageCost) ?? 0;

    – SeM
    Nov 15 '18 at 13:29











  • Write a check for null. SeM gave you the new null-conditional opeartor wich isa convencience feature that was added with C# 6 or so. But a good old if(ScheduleDays == null) WageCost = 0; would also work.

    – Christopher
    Nov 15 '18 at 13:30













  • @Christopher If I remember correctly, expression bodied properties was added in c#6. So I assumed he is using >=c#6.

    – SeM
    Nov 15 '18 at 13:34













  • @SeM: It is a solid asumption that anyone has access to those right now. I was just mentioning it for completeness.

    – Christopher
    Nov 15 '18 at 13:38








8




8





ScheduleDays?.Sum(w => w.WageCost) ?? 0;

– SeM
Nov 15 '18 at 13:29





ScheduleDays?.Sum(w => w.WageCost) ?? 0;

– SeM
Nov 15 '18 at 13:29













Write a check for null. SeM gave you the new null-conditional opeartor wich isa convencience feature that was added with C# 6 or so. But a good old if(ScheduleDays == null) WageCost = 0; would also work.

– Christopher
Nov 15 '18 at 13:30







Write a check for null. SeM gave you the new null-conditional opeartor wich isa convencience feature that was added with C# 6 or so. But a good old if(ScheduleDays == null) WageCost = 0; would also work.

– Christopher
Nov 15 '18 at 13:30















@Christopher If I remember correctly, expression bodied properties was added in c#6. So I assumed he is using >=c#6.

– SeM
Nov 15 '18 at 13:34







@Christopher If I remember correctly, expression bodied properties was added in c#6. So I assumed he is using >=c#6.

– SeM
Nov 15 '18 at 13:34















@SeM: It is a solid asumption that anyone has access to those right now. I was just mentioning it for completeness.

– Christopher
Nov 15 '18 at 13:38





@SeM: It is a solid asumption that anyone has access to those right now. I was just mentioning it for completeness.

– Christopher
Nov 15 '18 at 13:38












2 Answers
2






active

oldest

votes


















3














You can use ?(null-conditional) and ??(null-coalescing) operators for that:



public double WageCost => ScheduleDays?.Sum(w => w.WageCost) ?? 0;


References: ?? Operator , ?. and ? null-conditional Operators






share|improve this answer


























  • Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

    – Stian
    Nov 16 '18 at 8:19











  • @Stian You're welcome, and thanks :)

    – SeM
    Nov 16 '18 at 8:20



















6














Double verification



? for w?.WageCost : avoid NullException



?? for ScheduleDays : if null, takes 0 as value



public double WageCost => ScheduleDays?.Sum(w => w?.WageCost) ?? 0;





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53320558%2fhow-can-i-set-the-property-value-to-0-if-the-referenced-model-is-null%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    You can use ?(null-conditional) and ??(null-coalescing) operators for that:



    public double WageCost => ScheduleDays?.Sum(w => w.WageCost) ?? 0;


    References: ?? Operator , ?. and ? null-conditional Operators






    share|improve this answer


























    • Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

      – Stian
      Nov 16 '18 at 8:19











    • @Stian You're welcome, and thanks :)

      – SeM
      Nov 16 '18 at 8:20
















    3














    You can use ?(null-conditional) and ??(null-coalescing) operators for that:



    public double WageCost => ScheduleDays?.Sum(w => w.WageCost) ?? 0;


    References: ?? Operator , ?. and ? null-conditional Operators






    share|improve this answer


























    • Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

      – Stian
      Nov 16 '18 at 8:19











    • @Stian You're welcome, and thanks :)

      – SeM
      Nov 16 '18 at 8:20














    3












    3








    3







    You can use ?(null-conditional) and ??(null-coalescing) operators for that:



    public double WageCost => ScheduleDays?.Sum(w => w.WageCost) ?? 0;


    References: ?? Operator , ?. and ? null-conditional Operators






    share|improve this answer















    You can use ?(null-conditional) and ??(null-coalescing) operators for that:



    public double WageCost => ScheduleDays?.Sum(w => w.WageCost) ?? 0;


    References: ?? Operator , ?. and ? null-conditional Operators







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 15 '18 at 13:37

























    answered Nov 15 '18 at 13:31









    SeMSeM

    4,64011630




    4,64011630













    • Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

      – Stian
      Nov 16 '18 at 8:19











    • @Stian You're welcome, and thanks :)

      – SeM
      Nov 16 '18 at 8:20



















    • Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

      – Stian
      Nov 16 '18 at 8:19











    • @Stian You're welcome, and thanks :)

      – SeM
      Nov 16 '18 at 8:20

















    Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

    – Stian
    Nov 16 '18 at 8:19





    Thanks! Antoine V has almost the same answer, and answered one minute before you did, but I'm accepting yours because of the reference links and because Antoine has more rep than you. ;)

    – Stian
    Nov 16 '18 at 8:19













    @Stian You're welcome, and thanks :)

    – SeM
    Nov 16 '18 at 8:20





    @Stian You're welcome, and thanks :)

    – SeM
    Nov 16 '18 at 8:20













    6














    Double verification



    ? for w?.WageCost : avoid NullException



    ?? for ScheduleDays : if null, takes 0 as value



    public double WageCost => ScheduleDays?.Sum(w => w?.WageCost) ?? 0;





    share|improve this answer




























      6














      Double verification



      ? for w?.WageCost : avoid NullException



      ?? for ScheduleDays : if null, takes 0 as value



      public double WageCost => ScheduleDays?.Sum(w => w?.WageCost) ?? 0;





      share|improve this answer


























        6












        6








        6







        Double verification



        ? for w?.WageCost : avoid NullException



        ?? for ScheduleDays : if null, takes 0 as value



        public double WageCost => ScheduleDays?.Sum(w => w?.WageCost) ?? 0;





        share|improve this answer













        Double verification



        ? for w?.WageCost : avoid NullException



        ?? for ScheduleDays : if null, takes 0 as value



        public double WageCost => ScheduleDays?.Sum(w => w?.WageCost) ?? 0;






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 15 '18 at 13:29









        Antoine VAntoine V

        5,1142424




        5,1142424






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53320558%2fhow-can-i-set-the-property-value-to-0-if-the-referenced-model-is-null%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Bressuire

            Vorschmack

            Quarantine