首页 > 解决方案 > 在 C# 中创建三元条件

问题描述

我在 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();
                                }
                            }

如何做到这一点?

标签: 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设置为自身,但这不是功能改进,恕我直言更难阅读。row[2]


推荐阅读