关于c#:检查string是否为null

Check if string is null

我想检查我的变量(crphoto1)是否为空。如果crphoto1为空,crphoto1数据应为空;如果crphoto1不为空,crphoto1数据应类似于此字节[]crphoto1数据=file.readAllBytes(crphoto1);。下面的代码给了我错误,我如何修复它?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 }
};


问题是,您试图使用一个在范围较窄的块内声明的变量(在if块内定义crPhoto1Data)。另一个问题是,您试图将其设置为多个类型。

解决此问题的一种方法是在if/else语句中创建JObject(或使用下面示例中的三元运算符):

1
2
3
4
5
6
7
8
9
10
11
JObject ph1json = string.IsNullOrEmpty(crphoto1)
    ? new JObject
    {
        {"ContactID", crcontactID},
        {"Photo1",""}
    }
    : new JObject
    {
        {"ContactID", crcontactID},
        {"Photo1", File.ReadAllBytes(crphoto1)}
    };