验证列表中是否存在字符串
本文关键字:存在 字符串 是否 列表 验证 | 更新日期: 2023-09-27 18:24:39
我有一个包含"所有者"的列表。我需要检查当前用户是否为所有者。所以我尝试了:(list.Contains(string)):
string Owner = user.Name.ToString();
if (lstOwners.Contains(Owner))
{
btnManager.Visible = true;
} //does not work.
它不起作用!!
但当我这样做的时候它是有效的:
if (lstOwners.Contains("BRJesusCA2"))
{
btnManager.Visible = true;
}
你能告诉我为什么吗??
所有者和"BRJesusCA2"具有相同的值!
C#区分大小写
bool contains = lstOwners.Contains(Owner, StringComparer.OrdinalIgnoreCase);
btnManager.Visible = contains;
既然你要求一个更高效的集合。有90个项目是mirco优化。但是,您可以将其替换为HashSet<string>
:
HashSet<string> owners = new HashSet<string>(lstOwners, StringComparer.OrdinalIgnoreCase);
bool isOwner = owners.Contains(Owner);
HashSet<T>
类提供高性能的集合操作。集合是一个不包含重复元素的集合,并且其元素不按特定顺序排列。