我如何添加||无论是对还是错。我的意思是TRUE ||真假?

时间:2019-04-01 02:11:32

标签: c#

public string AddressPastDueAgeEndorseList(string RecordAddr1, string RecordAddr2, string RecordAddr3, string RecordAddr4)
{
    string Addr1, Addr2, Addr3, Addr4;

    Addr1 = (true) ? RecordAddr1 : RecordAddr1;
    Addr2 = (true) ? RecordAddr2 : RecordAddr2;
    Addr3 = (true) ? RecordAddr3 : RecordAddr3;
    Addr4 = (true) ? RecordAddr4 : RecordAddr4;
    Addr1 = (true) ? Addr1 = "NULL" : Addr1;
    Addr1 = (true) ? Addr1 = "." : Addr1;
    return AddressPastDueAgeEndorseList(RecordAddr1, RecordAddr2, RecordAddr3, RecordAddr4);
}

我想要这样:

Addr1 = (true) ? (Addr1 == "NULL" ||  Addr1 == ".") : (Addr1);

并添加到Addr2,Addr3和Addr4

代替:

Addr1 = (true) ? Addr1 = "NULL" : Addr1;
Addr1 = (true) ? Addr1 = "." : Addr1;

但发生错误并显示:

  无法确定条件表达式的类型,因为'布尔'和字符串之间没有隐式转换。

我需要在函数中返回一个字符串值。

1 个答案:

答案 0 :(得分:1)

x = a ? b : c;

xbc必须是同一类型,而a应该是布尔值。

(Addr1 == "NULL" || Addr1 == ".")是布尔值,因为它是true或false,但是Addr是字符串

因此,如果条件为true,它将返回一个布尔值,否则返回一个字符串。即返回2种不同的类型。而两种返回类型都必须是同一类型。

由于Addr1是一个字符串,所以我认为您正在尝试返回一个字符串,例如:

Addr1 = Addr1 == null || Addr1 == "." ? "Something" : Addr1