检查字符串是否为空

时间:2019-02-12 03:52:47

标签: c# xamarin xamarin.forms byte

我想检查我的变量( 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 }
};

1 个答案:

答案 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)}
    };