[OT] C# 6.0 ?. null propagation operator

rumbu via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 20 13:09:58 PDT 2015


On Monday, 20 April 2015 at 15:37:02 UTC, Atila Neves wrote:
> On Monday, 20 April 2015 at 12:16:21 UTC, Jakob Ovrum wrote:
>> On Monday, 20 April 2015 at 08:24:08 UTC, weaselcat wrote:
>>> http://www.reddit.com/r/programming/comments/335b1s/the_new_operator_in_c_6/
>>>
>>> of interesting note was the nim sample on how to implement 
>>> the same thing in nim in 2 lines of code
>>>
>>> template `?.`(a, b): expr =
>>> if a != nil: a.b else: nil
>>>
>>> template `??`(a, b): expr =
>>> if a != nil: a else: b
>>
>> This is what I came up with for D:
>>
>>    https://gist.github.com/JakobOvrum/7e3a7bc130ab7db28de3
>>
>> Meh.
>
> Here's mine:
>
> https://gist.github.com/atilaneves/727d63f0a7029032d7ac


I fail to understand Atila example. Just to be sure:

C#:
var roleName = userManager.CurrentUser?.GetRole()?.Name;

D (Jakob):
auto roleName = userManager.getOrNull!("CurrentUser", "GetRole", 
"Name");

D (Atila):
auto roleName = ?


More information about the Digitalmars-d mailing list