Today I’d like to introduce a project I’m calling “ConTabs” – simple, but flexible table generation for console applications. As well as simply being an open-source project, I’m also planning to use ConTabs as an excuse to explore some of the interesting aspects of modern .NET development.
What is ConTabs?
On the face of it, ConTabs is a way of taking a list of stuff and quickly spitting it out as a table-formatted string. For example, doing this:
1 2 3 4 5 6 7 8 9 |
var Data = new List<TestClass> { new TestClass{StringCol="Cats", IntCol = 2}, new TestClass{StringCol="Dogs", IntCol = 1}, new TestClass{StringCol="Chickens", IntCol = 3} }; var table = Table<TestClass>.Create(Data); Console.WriteLine(table.ToString()); |
Results in this:

Screenshot of a console table
Simple, right? It’s pretty light on features at the moment, but it does work. There’s already a GitHub repo, if you want to get involved.
I’ll be adding functionality as I go along and will eventually be publishing it as a NuGet package. And it’s that last point that really encapsulates why I’m doing this…
What’s the point?
The purpose of ConTabs isn’t really to make it easier to generate tables for console applications. (I mean, I do want it to do that – it’s something I find myself doing over and over in a lot of my “throwaway” projects at work.) But the real point of ConTabs is to allow me to get my hands dirty with some of the really interesting stuff that I don’t normally get to play with.
Over the next few months, I’ll be using ConTabs to explore:
- Continuous integration
- Code coverage metrics
- Static analysis
- The new flavours of .NET (Core & Standard)
- Publishing packages to NuGet
And I plan to write about my experiences here.
So buckle up and watch this space! (Or better yet – get involved!)