空字符串异常
Null string exception
在我问我的问题之前,我需要说明一下,我在网站上查找以解决问题,但我什么也没找到。
这是我的功能:
public string GetAccessToken(int agencyId)
{
string retrunString = null;
Token fbToken = tokenMgr.Get(agencyId, "FacebookInsights");
if (String.IsNullOrWhiteSpace(fbToken.AccessToken)) **
return retrunString;
else
return fbToken.AccessToken;
}
当 Token 是包含字符串字段名称的对象时:AccessToken。
当我调试代码并在 fbToken.AccessToken 为 NULL 时到达带有“**”的行时,出现异常“未将对象引用设置为对象的实例。
当我在其他线程中查找时,他们建议使用 String.IsNullOrWhiteSpace ,但它没有解决问题,我一直收到错误。
非常感谢任何帮助,提前致谢!
fbToken
为空,而不是 fbToken.AccessToken
。使用这样的东西:
if ( fbToken == null || String.IsNullOrWhiteSpace(fbToken.AccessToken) )
新的 C# 6.0 还允许您null propagation完成此任务:
if ( String.IsNullOrWhiteSpace(fbToken?.AccessToken) )
您必须验证对象 fbToken
而不是他的成员 AccessToken
。
public string GetAccessToken(int agencyId)
{
var fbToken = tokenMgr.Get(agencyId, "FacebookInsights");
return (fbToken == null) ? null : fbToken.AccessToken;
}
这样写。检查 Null-conditional Operators
if(String.IsNullOrWhiteSpace(fbToken?.AccessToken))
{
//your stuff
}
在我问我的问题之前,我需要说明一下,我在网站上查找以解决问题,但我什么也没找到。
这是我的功能:
public string GetAccessToken(int agencyId)
{
string retrunString = null;
Token fbToken = tokenMgr.Get(agencyId, "FacebookInsights");
if (String.IsNullOrWhiteSpace(fbToken.AccessToken)) **
return retrunString;
else
return fbToken.AccessToken;
}
当 Token 是包含字符串字段名称的对象时:AccessToken。
当我调试代码并在 fbToken.AccessToken 为 NULL 时到达带有“**”的行时,出现异常“未将对象引用设置为对象的实例。
当我在其他线程中查找时,他们建议使用 String.IsNullOrWhiteSpace ,但它没有解决问题,我一直收到错误。
非常感谢任何帮助,提前致谢!
fbToken
为空,而不是 fbToken.AccessToken
。使用这样的东西:
if ( fbToken == null || String.IsNullOrWhiteSpace(fbToken.AccessToken) )
新的 C# 6.0 还允许您null propagation完成此任务:
if ( String.IsNullOrWhiteSpace(fbToken?.AccessToken) )
您必须验证对象 fbToken
而不是他的成员 AccessToken
。
public string GetAccessToken(int agencyId)
{
var fbToken = tokenMgr.Get(agencyId, "FacebookInsights");
return (fbToken == null) ? null : fbToken.AccessToken;
}
这样写。检查 Null-conditional Operators
if(String.IsNullOrWhiteSpace(fbToken?.AccessToken))
{
//your stuff
}