if (user.IsBot == false && (user.Nickname.ToString().Equals(buffer) || user.Username.ToString().Equals(buffer)))
{
await ReplyAsync(Context.User.Mention + message[new Random().Next(5)] + user.Mention);
}
如果用户没有昵称,则说对象引用未设置为对象的实例。
答案 0 :(得分:1)
您应该先检查昵称是否为空。在这种情况下,我会提出以下建议:
if (user.Nickname != null && user.IsBot == false)
{
if (user.Nickname.ToString().Equals(buffer) || user.Username.ToString().Equals(buffer)))
{
await ReplyAsync(Context.User.Mention + message[new Random().Next(5)] + user.Mention);
}
}
甚至:
if (user != null)
{
if (user.Nickname != null && user.IsBot == false)
{
if (user.Nickname.ToString().Equals(buffer) || user.Username.ToString().Equals(buffer)))
{
await ReplyAsync(Context.User.Mention + message[new Random().Next(5)] + user.Mention);
}
}
}
如果user也可以为null。