This has an asp.net web application, as well as a c#.net desktop application, which generates a list of all combinations possible from an input list. Null item is avoided.