Linq选择具有鲜明的内在价值

jac*_*kie 3 c# linq

    class Foo 
    {
        public List<Baz> bazs = new List<Baz> ();
    }

    class Baz
    {
        public List<int> ints = new List<int> ();
    }

    [Test] public void play ()
    {
        var foo = new Foo ();

        foo.bazs = new List<Baz> ()
        {
            new Baz ()
            {
                ints = new List<int> () {1, 2, 3, 4, 5}
            },
            new Baz ()
            {
                ints = new List<int> () {4, 5, 6, 7, 8}
            }
        };

        IEnumerable<int> result = foo.bazs
            .Select (x => x.ints)
            .Distinct ()
            .AsEnumerable ();

        // I'm expecting an IEnumerable<int> 1,2,3,4,5,6,7,8
    }
Run Code Online (Sandbox Code Playgroud)

dig*_*All 8

简单地改变你.Select.SelectMany扁平化的子列表:

.SelectMany (x => x.ints)
Run Code Online (Sandbox Code Playgroud)