在这篇文章中,我们将讨论C语言中双问号运算符的使用,并在Ubuntu 20.04环境下实现。双问号运算符可以用来替代传统的If和Else语句。它是一种非常精确的方法,可以在一次中做出决定,而不是用结果语句进行多次检查,这可能会变得非常混乱,并会使整个程序出现集群。
双重问号"?"?操作符在C#编程语言中
这个操作符用于两个变量之间,第一个变量将被分配一个值,这取决于第二个值的空性。编写这个运算符的语法如下。
# Int a = b ?? c;
整数 "a "的值将由变量 "b "的无效性决定,所以如果它不是无效的,那么整数 "a "将等于 "b",如果变量 "b "是无效的,那么整数 "a "将等于 "c"。
现在我们来看看在Ubuntu 20.04环境下使用"?"运算符的一些例子。
例子01:用"? "确定整数值操作符确定整数值
在这个例子中,我们将讨论如何检查整数的无效性并为其赋值。决定性的整数将被分配一个空值或一些实际的值,给结果的整数分配一个值。这将减少必须根据变化而重复进行的if和else检查,但由于"?"操作符的存在,我们将很容易确定结果。
在这个C#程序中,我们将启动两个整数变量,其中一个将是决策者,而另一个将是决定性的决策变量。我们将对整数 "y "使用"? "运算符,其中第一个操作数是决策变量,第二个运算符是一个预定义的数字。然后我们将打印决策的结果,也就是整数 "y "的值,如下面的输出所示。
输出结果清楚地表明,整数 "y "的值是8,证明整数 "x "是空的。
例02:Ubuntu 20.04中字符串变量作为双问号操作符的操作数
在这个例子中,我们将通过把字符串变量作为双问号的操作数来确定它的值。在确定的字符串变量的帮助下,Console.WriteLine()函数将根据其非空值决定打印字符串变量。在这个方法中,我们将用一个字符串来代替一个整数,以预见空值凝聚运算符的变化。
在上面的C#程序中,我们将重点关注字符串数据类型变量,将它们作为空值凝聚运算符的操作数。首先,我们将初始化字符串变量并为其分配空值和非空值。然后我们将调用Console.WriteLine()函数,在其参数括号中,我们将使用"?"操作符。左右操作数将成为Console.WriteLine()函数的参数。编译并执行该程序后,我们将得到以下输出。
因为整数 "n "包含一个空值,第一个Console.WriteLine()函数将空值凝聚运算符的右操作数作为结果返回,而第二个Console.WriteLine()函数将空值凝聚运算符的左操作数作为结果返回。
例子03:在Ubuntu 20.04的预定义方法中使用多个空值凝聚运算符
到目前为止,我们只在变量或系统定义的方法中使用过一次双问号运算符,所以我们将在本例中创建的方法的返回语句中多次使用这个运算符。返回语句将不得不面对不同的情况,因为方法的参数将在每次调用时发生变化。
C#程序中有一个方法的代码,该方法使用双问号运算符来决定返回语句。首先,我们将建立一个名为 "Problem "的方法,它需要两个变量作为参数。这个程序将创建一个变量,并在编写返回语句之前给它赋值,它将使用两个空值凝聚运算符对两个参数和变量 "n3 "进行排序。第二个空值凝聚运算符的结果将取决于第一个空值凝聚运算符的结果。然后在主程序中,我们将初始化三个变量,每次调用的方法都有不同的参数。通过执行上述程序,我们可以看到由于参数值的变化而产生的结果差异。
输出结果表明,第一个值将是 "45",这也是n2变量的值。然后第二个值将是 "88",这是n1变量的值,第三个值将是 "5",这是n3变量的值。
例04:用"? "确定字符串的值操作符来确定字符串的值,在Ubuntu 20.04中
在这个例子中,我们将使用一个双问号作为参数来确定字符串变量的值,该值将是一个名字。Console.WriteLine()方法将使用一个确定的字符串变量,根据其非空值决定是否输出字符串变量。为了说明空值凝聚运算符的差异性,我们将在这个函数中使用一个字符串而不是一个整数,因为要定义的实体将是一个名字。
字符串数据类型变量将是上述C#代码中空值凝聚运算符的操作数。我们将初始化字符串变量n1和n2,并分别给它们分配空值和非空值。"?"运算符将用于 "Console.WriteLine() "函数的参数中。Console的参数将是null凝聚运算符的左右操作数。n1和n2变量被用于WriteLine()方法中。在编译和运行代码后,我们将得到以下结果。
首先,我们将创建一个名为 "问题 "的方法,它需要两个参数。在编写返回语句之前,我们将构造一个变量并给它一个值,这将使用两个空值凝聚运算符对两个参数和变量 "n3 "进行排序。
例05:在Ubuntu 20.04中对整数和字符串变量同时使用空值凝聚运算符
在这个例子中,我们将同时对整数和字符串变量使用空值凝聚运算符。这个例子将展示"?? "运算符的精确性,以及如何使用它来简化程序,当使用多个检查时,程序会变得更加复杂。
在这个程序中,我们将初始化两个整数变量,并在Console.WriteLine()函数中相互比较,以获得输出中的非空整数。然后我们将初始化一个字符串变量,并给它赋值为空,在结果字符串中,我们将把它作为"?"运算符的左操作数,并在右操作数中写一些文字。然后在执行上述代码后,我们将得到以下输出。
我们可以在给定的输出中看到,n1整数的值是空的,所以右边的操作数 "4 "被写入,而字符串的值也是空的;因此,右边的操作数被显示。
总结
在这篇文章中,我们讨论了C#编程语言中的双问号"?"操作符的概念。我们讨论了空值凝聚运算符的语法,并讨论了它是如何进行决策的。然后,我们在Ubuntu 20.04环境中实现了这个运算符,并观察了它对不同函数、变量数据类型的反应,同时还测试了可重复性因素。双问号"?"是C#编程语言中传统的If和else语句的一个很好的替代。