亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何判斷用戶是否不包含角色

如何判斷用戶是否不包含角色

C#
qq_花開花謝_0 2023-08-20 15:16:29
我正在 Discord BOT 中處理一些新命令,并且試圖確定具有管理員角色的用戶和具有創始人和管理員角色的用戶之間的區別。如果用戶角色僅包含管理員而不包含創始人,則它們被歸類為“CheckUserIsAdminOnly”。我使用下面的代碼當前檢查命令的用戶是否是管理員,因此我現在嘗試對此進行調整以說明用戶是否具有“管理員”角色但不包含“創始人”角色。我覺得我在這里錯過了一些簡單的東西,但我無法弄清楚我的錯誤return (fullContextUser.Roles.Where(x => x.Name == "Admin" || x.Name == "Head Recruiter" && x.Name != "Founder").Count() > 0);當用戶具有名為“Admin”和“Founder”的角色時,此代碼仍然返回 true
查看完整描述

2 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

Roles是角色列表。您不能僅通過查看各個角色及其姓名來對列表做出聲明。


中的表達式Where將應用于列表中的每個單獨角色。


檢查角色是否存在,然后合并該信息。


bool hasAdminRole = fullContextUser.Roles.Any(x => x.Name == "Admin");

bool hasFounderRole = fullContextUser.Roles.Any(x => x.Name == "Founder");


bool isAdminButNotFounder = hasAdminRole && !hasFounderRole;


查看完整回答
反對 回復 2023-08-20
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

你缺少括號:


return (fullContextUser.Roles.Where(x => 

(x.Name == "Admin" || 

x.Name == "Head Recruiter") && 

x.Name != "Founder").Count() > 0);


查看完整回答
反對 回復 2023-08-20
  • 2 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號