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