Skip to content

Robert-McGinley/TableParser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Table Parser

Original code by hubeza on Stackoverflow

Basic Usage

Format an IEnumerable as a table using ToStringTable:

var users = new List<User>
{
    new User { },
    new User
    {
        FirstName = "Jake",
        LastName = "Scott",
                    
        DateTime = DateTime.UtcNow,
        NullableDateTime = DateTime.UtcNow,

        IntValue = 99,
        NullableIntValue = 999
    }
};

var table = users.ToStringTable(
    u => u.FirstName, 
    u => u.LastName,
                
    u => u.DateTime,
    u => u.NullableDateTime,

    u => u.IntValue,
    u => u.NullableIntValue
);

Console.WriteLine(table);
 | FirstName | LastName | DateTime                | NullableDateTime        | IntValue | NullableIntValue | 
 |--------------------------------------------------------------------------------------------------------| 
 | null      | null     | 1/01/0001 12:00:00 a.m. | null                    | 0        | null             | 
 | Jake      | Scott    | 12/05/2014 8:46:38 p.m. | 12/05/2014 8:46:38 p.m. | 99       | 999              | 

Custom Column Headers

var customTable = users.ToStringTable(new[] { "First Name", "Last Name" },
    u => u.FirstName,
    u => u.LastName
);

Console.WriteLine(customTable);
 | First Name | Last Name | 
 |------------------------| 
 | null       | null      | 
 | Jake       | Scott     | 

Simple List of Guids

var guids = new List<Guid>
{
    Guid.NewGuid(), 
    Guid.NewGuid()
};

var guidTable = guids.ToStringTable(new[] {"UserId"}, g => g);
Console.WriteLine(guidTable);
 | UserId                               | 
 |--------------------------------------| 
 | c98c46f6-5e7a-421e-a71d-a47f09c4eb87 | 
 | 4522d0f0-20b2-48db-83b2-1b41952999d6 | 

Releases

No releases published

Packages

No packages published