如何在C#中删除名称包含YYY的所有Session?
删除C#中所有名称包含指定字符串的Session
要删除所有名称包含"YYY"的Session,你需要先遍历Session的键集合,筛选出符合条件的键,再逐个删除。直接遍历Session.Keys时不能修改集合,所以建议先把符合条件的键存入一个临时列表,再遍历列表执行删除操作。
示例代码如下:
// 先收集所有包含"YYY"的Session键 var keysToRemove = Session.Keys.Cast<string>() .Where(key => key.Contains("YYY")) .ToList(); // 遍历临时列表删除对应的Session foreach (var key in keysToRemove) { Session.Remove(key); }
说明
- 使用
Session.Keys.Cast<string>()将非泛型的Keys集合转换为可枚举的字符串集合,方便后续LINQ操作。 Where(key => key.Contains("YYY"))筛选出名称包含"YYY"的Session键。- 先转成
ToList()是为了避免在遍历原集合时修改集合导致的异常。
内容的提问来源于stack exchange,提问作者nnmmss
相关产品推荐
相关产品推荐

