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;
但发生错误并显示:
无法确定条件表达式的类型,因为'布尔'和字符串之间没有隐式转换。
我需要在函数中返回一个字符串值。
答案 0 :(得分:1)
x = a ? b : c;
x
,b
,c
必须是同一类型,而a
应该是布尔值。
(Addr1 == "NULL" || Addr1 == ".")
是布尔值,因为它是true或false,但是Addr
是字符串
因此,如果条件为true,它将返回一个布尔值,否则返回一个字符串。即返回2种不同的类型。而两种返回类型都必须是同一类型。
由于Addr1是一个字符串,所以我认为您正在尝试返回一个字符串,例如:
Addr1 = Addr1 == null || Addr1 == "." ? "Something" : Addr1