我曾尝试过一个类似的答案here,这个答案没有用,可能会遗漏我的情况。
背景:
我正在尝试从外部API(约8k记录)中提取交易工具列表,我只需要10个左右。因此,尝试按以下方式过滤它,但过滤结果为0。
型号:
public class Trade
{
public int ID { get; set; }
public string Scrip { get; set; }
public int Quantity { get; set; }
}
过滤
List<Trade> trades;
using (StreamReader sr = new StreamReader(Server.MapPath("~/Utils/trades.json")))
{
trades = JsonConvert.DeserializeObject<List<Trade>>(sr.ReadToEnd());
}
List<Instrument> instruments = GetInstruments(Exchange: "NY");// count 8k
var result = instruments.Where(x => trades.Any(n => x.Name.Contains(n.Scrip))); //count 0
此外,尝试从交易列表中获取Scrip名称作为字符串数组并用于过滤,这也不起作用。
请提前通知并表示感谢。
答案 0 :(得分:0)
谢谢大家的帮助,这是一个愚蠢的错误
将包含更改为等于及其按预期工作。
instruments.Where(x => trades.Any(n => x.Name.Equals(n.Scrip)));