You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Steam库存解析:如何用哈希集关键字过滤指定物品

Steam库存物品过滤问题修复

你的问题出在过滤逻辑的匹配方式上:原代码用oybek.Contains(s)判断物品名称是否完全等于哈希集中的关键字,但实际目标物品(比如2017 Service Medal、Gold Operation Shattered Web Coin)是名称包含这些关键字,而非完全一致,所以只有完全匹配的Loyalty Badge被过滤了。

修改过滤逻辑,改为检查物品名称是否包含哈希集中的任意一个关键字,只要包含就排除:

// 替换原过滤代码
var ms = list.Where(itemName => !oybek.Any(keyword => itemName.Contains(keyword))).ToList();

foreach(var item in ms)
{
    Console.WriteLine(item);
}

额外优化建议

可以直接在解析JSON阶段完成过滤,省去中间的list存储步骤,提升效率:

string path = @"C:\Users\Oybek\source\repos\ConsoleApp8\myfile.txt";
string text;
using (StreamReader reader = new(path))
{
    text = await reader.ReadToEndAsync();
}
var obj = JsonConvert.DeserializeObject<JObject>(text);
var descriptions = obj!["descriptions"]!.ToList();
Console.OutputEncoding = Encoding.UTF8;

// 直接过滤并输出
foreach (var item in descriptions)
{
    var marketName = item["market_hash_name"]!.ToString();
    if (!oybek.Any(keyword => marketName.Contains(keyword)))
    {
        Console.WriteLine(marketName);
    }
}

内容的提问来源于stack exchange,提问作者robben_55

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:10:25