C# 在c语言中创建三元条件

C# 在c语言中创建三元条件,c#,C#,我有下面的c数据表代码,我想把它作为三元运算符条件 if (!string.IsNullOrEmpty(row[2].ToString())) { if (row[2].ToString().Length >= 3) { row[2] =

我有下面的c数据表代码,我想把它作为三元运算符条件

if (!string.IsNullOrEmpty(row[2].ToString()))
                            {
                                if (row[2].ToString().Length >= 3)
                                {
                                    row[2] = row[2].ToString().Substring(0, 3).ToUpper();
                                }
                                else
                                {
                                    row[2] = row[2].ToString().ToUpper();
                                }
                            }
如何做到这一点

条件运算符?:,也称为三元条件运算符 运算符,对布尔表达式求值并返回一个布尔表达式的结果 这取决于布尔表达式 计算结果为true或false

条件运算符的语法如下所示:

C

状况?结果:备选方案

如何做到这一点

只需将谓词、真表达式和假表达式复制到三元形式:

row[2] = {predicate} ? {true expression} : {false expression}
其中:

if (!string.IsNullOrEmpty(row[2].ToString()))
{
    row[2] = row[2].ToString().Length >= 3 
           ? row[2].ToString().Substring(0, 3).ToUpper();
           : row[2].ToString().ToUpper();
}
通过分解常见表达式,您可以将其简化一点:

if (!string.IsNullOrEmpty(row[2].ToString()))
{
    row2 = row[2].ToString().ToUpper();
    row[2] = row2.Length >= 3 
           ? row2.Substring(0, 3);
           : row2;
}

您可以对最后一个if使用一个三元运算符,如果条件不匹配,只需将行[2]设置为自身,但这并不是功能上的改进,更难读取IMHO

为什么要使用三元运算符?您尝试了什么?还剩下什么?。我不认为这是字符串的一部分API@Lesiakgahh我最近太频繁地转换语言了:删除。
if (!string.IsNullOrEmpty(row[2].ToString()))
{
    row2 = row[2].ToString().ToUpper();
    row[2] = row2.Length >= 3 
           ? row2.Substring(0, 3);
           : row2;
}