如何连接两个List在c#中使用LINQ

本文关键字:LINQ string List 连接 何连接 两个 | 更新日期: 2023-09-27 18:15:53

我在XML元素z:row中有两个独立的国家属性,从SharePoint web服务返回。

var homeCountry = (from xml in doc.Descendants(z + "row") select xml.Attribute("ows_Country").Value).Distinct();
    var covCountry = (from xml in doc.Descendants(z + "row")
                      where xml.Attribute("ows_Coverage_x0020_Area_x0020_by_x00").Value != ""
                      select xml.Attribute("ows_Coverage_x0020_Area_x0020_by_x00").Value);

现在我想合并这两个列表,以便获得不同的国家名称并加载下拉列表

distinctCountriesList.Add("");
        distinctCountriesList.Sort();
        country.DataSource = distinctCountriesList.Distinct();
        country.DataBind();

如何连接两个List<string>在c#中使用LINQ

var distinctCountriesList = homeCountry.Union(covCountry).ToList();
country.DataSource = homeCountry
    .Union(convCountry)
    .ToList();
country.DataBind();

使用Union方法。相反,Concat不会过滤重复项。

var Joinedlist = from hCountry in homeCountry.AsEnumerable()
                 join coCountry in covCountry.AsEnumerable()
                 on coCountry.<column Name> equals hCountry.<column Name>