我想检查我的变量( crphoto1 )是否为空。如果 crphoto1 为null,则crPhoto1Data应该为null,而当crphoto1不为null时,crPhoto1Data应该类似于 byte [] crPhoto1Data = File.ReadAllBytes(crphoto1); 。下面的代码给我错误我该如何解决?
if (string.IsNullOrEmpty(crphoto1))
{
string crPhoto1Data = "";
}
else
{
byte[] crPhoto1Data = File.ReadAllBytes(crphoto1);
}
var ph1link = "http://" + ipaddress + Constants.requestUrl + "Host=" + host + "&Database=" + database + "&Contact=" + contact + "&Request=tWyd43";
string ph1contentType = "application/json";
JObject ph1json = new JObject
{
{ "ContactID", crcontactID },
{ "Photo1", crPhoto1Data }
};
答案 0 :(得分:1)
问题是您试图使用在范围更窄的块内声明的变量(您在crPhoto1Data
块内定义了if
)。另一个问题是您试图将其设置为多种类型。
解决此问题的一种方法是在JObject
语句中创建if/else
(或使用下面的示例中的三元运算符):
JObject ph1json = string.IsNullOrEmpty(crphoto1)
? new JObject
{
{"ContactID", crcontactID},
{"Photo1", ""}
}
: new JObject
{
{"ContactID", crcontactID},
{"Photo1", File.ReadAllBytes(crphoto1)}
};