this post was submitted on 26 Jun 2023
8 points (100.0% liked)

C Sharp

1526 readers
1 users here now

A community about the C# programming language

Getting started

Useful resources

IDEs and code editors

Tools

Rules

Related communities

founded 1 year ago
MODERATORS
 

With regards to null conditional operators, calling properties and methods will work fine, e.g.:

HttpContext.Current?.Response.Clear();

But I'm wondering if assignment is possible? I get this error when trying to do this:

HttpContext.Current?.Response.ContentType = "text/json";

The docs say:

The null-conditional operators are short-circuiting. That is, if one operation in a chain of conditional member or element access operations returns null, the rest of the chain doesn't execute.

So wondering if it's possible and I'm doing it wrong, or am I taking "does not execute" too literally? :)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago (4 children)

What is the precise expected behavior here? If HttpContext.Current?.Response.ContentType is not null, then assign it to "text/json", otherwise explode? I would intuitively evaluate the latter case as trying to assign null = "text/json" which doesn't make sense to me.

[–] scottyjoe9 1 points 1 year ago (1 children)

I can see how you could think of the setter like Current?.Response.set_ContentType("text/json") and then if Current is null you just skip the assignment like you would any other method call.

[–] [email protected] 1 points 1 year ago

Yeah, for properties but not instance fields.

load more comments (2 replies)