日期:2014-05-20  浏览次数:20811 次

LINQ 如何集合连接集合
有个不定元素的数组string[] str
{
  a="a";
  b="b";
  ........ 
}
里面的元素不确定

foreach(var c in str){
  var list=a.Where(uu => uu.name.Contains(c)));
  }

如何把每个搜索出来的结果list合并到一个集合里面?谢谢!

------解决方案--------------------
C# code
 public static void Main()
        {
            string[] str = { "abc", "bc", "cd", "ef" };
            var list = (from a in str
                       where a.Contains('c')
                       select a).ToList();
            var list2 = (from a in str
                         where a.Contains('b')
                         select a).ToList();
            List<string> ll = new List<string>();
            ll.AddRange(list);
            ll.AddRange(list2);
            foreach(var cc in ll)
                Console.WriteLine(cc);



        }

------解决方案--------------------
C# code
            string[] arr = { "abc", "bc", "cd", "ef","c1","a2","b2"};
            string[] str = { "a", "b", "c" };
            List<string> list = new List<string>();
            foreach (var c in str)
            {
                list.AddRange(arr.Where(n => n.Contains(c)).ToList());
                //or Concat
                //list = (list.Concat(arr.Where(n => n.Contains(c)))).ToList();
            }
            foreach (var o in list)
                Console.WriteLine(o);
            Console.ReadLine();