如何检查IUser是否有昵称?

时间:2020-04-03 12:29:16

标签: c# discord

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

如果用户没有昵称,则说对象引用未设置为对象的实例。

1 个答案:

答案 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。