Another use of single question mark in C # And special use of double question mark

Source: Internet
Author: User

Today, a colleague asked me a piece of code written by a company employee who has left the company. It looks a little strange. The Code is as follows:

/// <Summary> /// return the request // </Summary> /// <Param name = "name"> </param> /// <Param name = "encrypt"> encryption </param> // <returns> </returns> Public static string request (string name, bool encrypt) {httprequest Req = httpcontext. current. request; string STR = req. form [name]? Req. querystring [name]? ""; If (encrypt) {return encryptstring (STR);} STR = system. Web. httputility. urldecode (STR, system. Text. encoding. utf8); Return STR ;}

Where is it?

It's strange that this string STR = Req. Form [name]? Req. querystring [name]? ""; In ??

I found it hard to understand. Later I checked the information on the Internet and explained it as follows:

"Single question mark-used to assign null to the variable (INT type) when setting the initial value, rather than 0!

Double question mark-used to determine and assign values. First, judge whether the current variable is null. If yes, you can assign a new value. Otherwise, skip this step !"

Netizen Napoleon Article http://www.mapviews.cn /? P = 200 explained. The demo he gave is as follows:

Public Int? Para; // public int para; if this line is not commented out and the previous line is commented out, an error will be reported below! Public int PAR () {return this. Para ?? 0 ;}

For such an efficient writing method, you must take notes and share them with friends!

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.