Notable Classes

Usages

Extension Methods

    // In
    "a".In("a", "b", "c").Should().BeTrue();
    "d".In("a", "b", "c").Should().BeFalse();

    // ForAll
    var coll = new[] {"a", "b", "c"};
    coll.ForAll(x => Console.WriteLine(x));
    

Base2art.Collections.DelegatedTopologicallySortedCollection<TKey, TValue>

    var collection = new DelegatedTopologicallySortedCollection<string, Person>(
                                                                                x => x.Name,
                                                                                x => x.Requires);
    collection.IsReadOnly.Should().BeFalse();
    
    collection.Add(new Person {Name = "A"});
    collection.Add(new Person {Name = "E", Requires = new[] {"D"}});
    collection.Add(new Person {Name = "B", Requires = new[] {"A"}});
    collection.Add(new Person {Name = "D", Requires = new[] {"C"}});
    collection.Add(new Person {Name = "C", Requires = new[] {"B"}});
    
    var items = collection.ToArray();
    items[0].Name.Should().Be("A");
    items[1].Name.Should().Be("B");
    items[2].Name.Should().Be("C");
    items[3].Name.Should().Be("D");
    items[4].Name.Should().Be("E");