首页 > 解决方案 > 如何使用 LINQ 从类中搜索特定字符串?

问题描述

嗨,我想通过 LINQ 从字典中搜索类

我的数据表格如下。我想在HoldingData类中使用SearchDataFromString方法

插入字符串时,Linq 用于以 List 的形式返回包含该字符串的符号或名称的所有数据。

public class HoldingData {
public Dictionary<string, SymbolsList> data;

public List<SymbolsList> SearchDataFromString(string nameOrSymbol){

//All data is store in **data**
//use LINQ
}
}



[System.Serializable]
public class SymbolsList
{
    public string symbol;
    public string name;
    public string exchange;
}

有人帮我解决我的问题,谢谢。

标签: c#linq

解决方案


您可以使用

data.Where( x => x.Value.symbol.Contains("#{YOURSTRING}") )

查找 SymbolsList.symbol 包含的元素 #{YourString}

如果您使用,它也可以与名称一起使用

data.Where( x => x.Value.name.Contains("#{YOURSTRING}") )

或者如果您想检查其中一个是否包含它,请尝试在 SymbolsList 中创建一个方法,如下所示

public bool ContainsString(String arg) {
    return name.Contains(arg) || symbol.Contains(arg);
}

然后像这样使用linq

data.Where( x => x.Value.ContainsString("#{YOURSTRING}") )

推荐阅读