c#如何将项目得到的字符串,它包含在 asp.net 中确定字符串值列表?

发布时间: 2017/2/25 3:22:18
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有此列表︰

    Spain_Finance
    France_Sport
    Spain_Politics
    USA_Science
    USA_Finance

我使用这段代码检查是否该列表包含一个确定的值︰

 Dim namecountry As String = "Spain"
    Dim listcontainscountry As Boolean = mylistofcountries.Any(Function(l) l.Contains(namecountry))
            If listcontainscountry = True Then
                  ' Here I need to get the elements from the list that contains Spain
            End If

那么在这里面如果之后我要获取的元素的列表,其中包含西班牙结果的发言将是这︰

 Spain_Finance
 Spain_Politics

我寻找一个简单的代码来做到这一点,我可以做 foreach 和比较从项列表中的国家的名字,但我想知道是否有另一种方式更简单,这是为学习,欣赏你的贡献,谢谢

解决方法 1:

您可以使用 Where 改为 Any 的代码将类似于下面这样︰

Dim namecountry As String = "Spain"
Dim listcontainscountry = mylistofcountries.Where(Function(l) l.Contains(namecountry)).ToList()

因为这个问题也标记为 c#,此示例将帮助你,那就是将代码︰

List<string> countryList = new List<string>() { "Spain_Finance", "France_Sport", "Spain_Politics", "USA_Science", "USA_Finance" };
string namecountry = "Spain";
List<string> SelectedCountries = countryList.Where(x => x.Contains(namecountry)).ToList();
if(SelectedCountries.Count>0) 
   Console.WriteLine("Selected Countries : {0}", String.Join(",",SelectedCountries));
else
   Console.WriteLine("No Matches ware found");

更新︰您可以使用 Select 其次是 Where.SubString 的代码将像这样

List<string> SelectedCountries = countryList.Where(x => x.Contains(namecountry))
                                                         .Select(x=>x.Substring(x.IndexOf("_")+1))
                                                         .ToList();
官方微信
官方QQ群
31647020