Search Results for

    Show / Hide Table of Contents

    Class StringExtensions

    A set of extension methods for string manipulation

    Inheritance
    object
    StringExtensions
    Inherited Members
    object.GetType()
    object.MemberwiseClone()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: LemonEdge.Utils
    Assembly: LemonEdge.Utils.dll
    Syntax
    public static class StringExtensions

    Methods

    Contains(StringBuilder, string, bool, bool)

    Declaration
    public static bool Contains(this StringBuilder sb, string value, bool ignoreCase, bool ignoreSpaces)
    Parameters
    Type Name Description
    StringBuilder sb
    string value
    bool ignoreCase
    bool ignoreSpaces
    Returns
    Type Description
    bool

    ContainsWholeWord(string, string, StringComparison, string[])

    Indicates if the specified string contains any instances of the specified word but only if it exists as a single word, not contained in other words.

    Declaration
    public static bool ContainsWholeWord(this string a, string word, StringComparison comparrisonType, string[] except = null)
    Parameters
    Type Name Description
    string a

    The source string to determine if any whole instances of word exist within it

    string word

    The word to search for. Only returns true if the word exists as a whole word, not as part of any other word

    StringComparison comparrisonType

    The StringComparison type to use when searching for the word

    string[] except

    A list of words to exclude from possible matches

    Returns
    Type Description
    bool

    True if the specified word exists in the string by itself and not as part of any other word

    Remarks

    For example searching for "table" will return false if the string to search is "Only looking for whole words, so tabletop does not count"

    A whole word is defined as a word containing alphanumeric characters and '_' or '-'

    EndWith(string, string)

    If the given string doesn't have the given ending, it is appended.

    Declaration
    public static string EndWith(this string me, string ending)
    Parameters
    Type Name Description
    string me

    The string value.

    string ending

    The requisite ending.

    Returns
    Type Description
    string

    The string with the requisite ending.

    GetEnclosedString(string, string, string, int)

    Returns the text found in between the specified suffix and prefix

    Declaration
    public static string GetEnclosedString(this string source, string prefix, string suffix, int startIndex = 0)
    Parameters
    Type Name Description
    string source

    The string to search for any text in between the specified suffix and prefix

    string prefix

    The string that defines the beginning of a string to return when found in the source string

    string suffix

    The string that defines the end of a string to return when found in the source string

    int startIndex

    An optional start index to start the search from within the source string. Defaults to 0 the start of the string.

    Returns
    Type Description
    string

    The first instance of any string contained within prefix and suffix found on or after startIndex

    Remarks

    For example calling:

    "Get my enclosed values (here they are) from the brackets".GetEnclosedString("(", ")");

    Would return:

    "here they are"

    See Also
    GetEnclosedStrings(string, string, string)

    GetEnclosedStrings(string, string, string)

    Returns all instances of text found between the specified suffix and prefix

    Declaration
    public static IEnumerable<string> GetEnclosedStrings(this string source, string prefix, string suffix)
    Parameters
    Type Name Description
    string source

    The string to search for any text in between the specified suffix and prefix

    string prefix

    The string that defines the beginning of a string to return when found in the source string

    string suffix

    The string that defines the end of a string to return when found in the source string

    Returns
    Type Description
    IEnumerable<string>

    All instances of any string contained within prefix and suffix

    Remarks

    For example calling:

    "Get my enclosed values (here they are) from (and here) the brackets".GetEnclosedString("(", ")");

    Would return:

    "here they are", "and here"

    See Also
    GetEnclosedString(string, string, string, int)

    IsNullOrWhiteSpace(string)

    Equivalent to calling IsNullOrWhiteSpace(string).

    Declaration
    public static bool IsNullOrWhiteSpace(this string me)
    Parameters
    Type Name Description
    string me

    The string.

    Returns
    Type Description
    bool

    Whether the sting is null, or just whitespace.

    Pluralize(string)

    Returns a plural version of a singular word. For instance changing Changer to Changers

    Declaration
    public static string Pluralize(this string s)
    Parameters
    Type Name Description
    string s

    The name to turn into a plural version

    Returns
    Type Description
    string

    A plural version of the original s string

    Remarks

    For example:

    • Strategy: Returns Strategies
    • Class: Returns Classes
    • Desk: Returns Desks
    See Also
    Singularize(string)

    RemoveWhiteSpace(string)

    Remove whitespace from a string, using IsWhiteSpace(char).

    Declaration
    public static string RemoveWhiteSpace(this string input)
    Parameters
    Type Name Description
    string input

    The string to remove with spaces from

    Returns
    Type Description
    string

    Replace(StringBuilder, string, string, bool, bool)

    Declaration
    public static StringBuilder Replace(this StringBuilder a, string match, string replace, bool ignoreCase, bool ignoreSpaces)
    Parameters
    Type Name Description
    StringBuilder a
    string match
    string replace
    bool ignoreCase
    bool ignoreSpaces
    Returns
    Type Description
    StringBuilder

    ReplaceIgnoringWhitespace(StringBuilder, string, string)

    Declaration
    public static StringBuilder ReplaceIgnoringWhitespace(this StringBuilder input, string find, string replace)
    Parameters
    Type Name Description
    StringBuilder input
    string find
    string replace
    Returns
    Type Description
    StringBuilder

    ReplaceStringIgnoringWhitespace(string, string, string)

    Declaration
    public static string ReplaceStringIgnoringWhitespace(this string input, string find, string replace)
    Parameters
    Type Name Description
    string input
    string find
    string replace
    Returns
    Type Description
    string

    ReplaceWholeWord(string, string, string, StringComparison)

    Replaces instances of the word string with the replace value, but only when it is found as a whole word and not as part of any other word

    Declaration
    public static string ReplaceWholeWord(this string a, string word, string replace, StringComparison comparrisonType)
    Parameters
    Type Name Description
    string a

    The source string to search and replace a word in

    string word

    The whole word to search for and replace all instances with replace

    string replace

    The string to use to replace all found whole word instances of word with

    StringComparison comparrisonType

    The StringComparison type to use when searching for the whole word

    Returns
    Type Description
    string

    A new string with all whole word instances of word replaced with the specified replace string

    Remarks

    For example:

    return "searching for search to replace with newword".ReplaceWholeWord("search", "newword", StringComparison.InvariantCultureIgnoreCase);

    Would return

    "searching for newword to replace with newword"

    See Also
    ReplaceWholeWords(string, string[], string[], StringComparison)

    ReplaceWholeWord(StringBuilder, string, string, bool)

    Replaces instances of the word string with the replace value, but only when it is found as a whole word and not as part of any other word

    Declaration
    public static StringBuilder ReplaceWholeWord(this StringBuilder a, string word, string replace, bool ignoreCase)
    Parameters
    Type Name Description
    StringBuilder a

    The source string to search and replace a word in

    string word

    The whole word to search for and replace all instances with replace

    string replace

    The string to use to replace all found whole word instances of word with

    bool ignoreCase
    Returns
    Type Description
    StringBuilder

    A new string with all whole word instances of word replaced with the specified replace string

    Remarks

    For example:

    return "searching for search to replace with newword".ReplaceWholeWord("search", "newword", StringComparison.InvariantCultureIgnoreCase);

    Would return

    "searching for newword to replace with newword"

    See Also
    ReplaceWholeWords(string, string[], string[], StringComparison)

    ReplaceWholeWords(string, string[], string[], StringComparison)

    Replaces instances of the words string with the associated replaces value, but only when it is found as a whole word and not as part of any other word

    Declaration
    public static string ReplaceWholeWords(this string a, string[] words, string[] replaces, StringComparison comparrisonType)
    Parameters
    Type Name Description
    string a

    The source string to search and replace a word in

    string[] words

    A list of whole words to be replacedreplace

    string[] replaces

    A list of associated strings to replace all found whole word instances of. This should have the same length as the words argumentword with

    StringComparison comparrisonType

    The StringComparison type to use when searching for the matching words

    Returns
    Type Description
    string

    A new string with all whole word instances of words replaced with the specified replaces string

    See Also
    ReplaceWholeWord(string, string, string, StringComparison)

    Singularize(string)

    Returns a singular version of a plural word. For instance changing Changers to Changer

    Declaration
    public static string Singularize(this string s)
    Parameters
    Type Name Description
    string s

    The name to turn into a singular version

    Returns
    Type Description
    string

    A singular version of the original s string

    Remarks

    For example:

    • Strategies: Returns Strategy
    • Classes: Returns Class
    • Desks: Returns Desk
    • Singular: Returns Singular
    See Also
    Pluralize(string)

    SplitToDictionary(string, char, char)

    Splits a string into a dictionary, given an entry and key-value separator.

    Declaration
    public static Dictionary<string, string> SplitToDictionary(this string me, char entrySeparator = ',', char keyValueSeparator = '=')
    Parameters
    Type Name Description
    string me

    The text value.

    char entrySeparator

    The entry separator char array.

    char keyValueSeparator

    The key-value separator char array.

    Returns
    Type Description
    Dictionary<string, string>

    A dictionary of key-value pairs.

    SplitToDictionary(string, char[], char[])

    Splits a string into a dictionary, given an entry and key-value separator.

    Declaration
    public static Dictionary<string, string> SplitToDictionary(this string me, char[] entrySeparator, char[] keyValueSeparator)
    Parameters
    Type Name Description
    string me

    The text value.

    char[] entrySeparator

    The entry separator char array.

    char[] keyValueSeparator

    The key-value separator char array.

    Returns
    Type Description
    Dictionary<string, string>

    A dictionary of key-value pairs.

    SplitToGuidArray(string?, char)

    Splits a string into a guid array, by the provided separator:

    • Splits by separator
    • Calls Guid.Parse on each entry (Removes empty entries)
    • Returns as an array.
    Declaration
    public static Guid[] SplitToGuidArray(this string? me, char separator)
    Parameters
    Type Name Description
    string me

    The string to parse.

    char separator

    The separator.

    Returns
    Type Description
    Guid[]

    A Guid[]

    StartWith(string, string)

    If the given string doesn't have the given beginning, it is prepended.

    Declaration
    public static string StartWith(this string me, string beginning)
    Parameters
    Type Name Description
    string me

    The string value.

    string beginning

    The requisite beginning.

    Returns
    Type Description
    string

    The string with the requisite beginning.

    ToCSVFormatString(object, Type)

    Returns the specified item as a string value that is valid for inclusion in a csv file. For instance the string 'aa,aa' would be returned as '"aa,aa"'

    Declaration
    public static string ToCSVFormatString(this object val, Type type = null)
    Parameters
    Type Name Description
    object val

    The value to be formatted as a csv safe string

    Type type

    An optional the value should be evaluated as

    Returns
    Type Description
    string

    A standard string representation of the object in a format safe for inclusion in a csv file

    ToCommaSeperatedList(IEnumerable)

    Returns a comma separated collection of items as a StringBuilder

    Declaration
    public static StringBuilder ToCommaSeperatedList(this IEnumerable items)
    Parameters
    Type Name Description
    IEnumerable items

    A list of items to enumerate and format in the returned string

    Returns
    Type Description
    StringBuilder

    A comma separated StringBuilder holding each item in the items enumeration

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToCommaSeperatedList().ToString();

    Would return:

    "One,Two,Three"

    See Also
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToConcatenatedList(IEnumerable, string)

    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)

    Returns a comma separated collection of items as a StringBuilder with an optional prefix and suffix too

    Declaration
    public static StringBuilder ToCommaSeperatedList(this IEnumerable items, Func<object, string> value, string prefix, string suffix)
    Parameters
    Type Name Description
    IEnumerable items

    A list of items to enumerate and format in the returned string

    Func<object, string> value

    A function that provides a string representation of an instance of an object in the items enumeration

    string prefix

    A string to create before the string representation of each item in the items enumeration

    string suffix

    A string to create after the srting representation of each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A comma separated StringBuilder holding each item in the items enumeration with specified prefix and suffix characters

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToCommaSeperatedList(x => x, "'", "'").ToString();

    Would return:

    "'One','Two','Three'"

    See Also
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToCommaSeperatedList(IEnumerable)
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToConcatenatedList(IEnumerable, string)

    ToCommaSeperatedList(IEnumerable, string, string)

    Returns a comma separated collection of items as a StringBuilder with an optional prefix and suffix too

    Declaration
    public static StringBuilder ToCommaSeperatedList(this IEnumerable items, string prefix, string suffix)
    Parameters
    Type Name Description
    IEnumerable items

    A list of items to enumerate and format in the returned string

    string prefix

    A string to create before the string representation of each item in the items enumeration

    string suffix

    A string to create after the srting representation of each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A comma separated StringBuilder holding each item in the items enumeration with specified prefix and suffix characters

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToCommaSeperatedList("'", "'").ToString();

    Would return:

    "'One','Two','Three'"

    See Also
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable)
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToConcatenatedList(IEnumerable, string)

    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)

    Returns a comma separated collection of items as a StringBuilder with an optional prefix and suffix too

    Declaration
    public static StringBuilder ToCommaSeperatedList<T>(this IEnumerable<T> items, Func<T, string> value, string prefix, string suffix)
    Parameters
    Type Name Description
    IEnumerable<T> items

    A list of items to enumerate and format in the returned string

    Func<T, string> value

    A function that provides a string representation of an instance of T in the items enumeration

    string prefix

    A string to create before the string representation of each item in the items enumeration

    string suffix

    A string to create after the srting representation of each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A comma separated StringBuilder holding each item in the items enumeration with specified prefix and suffix characters

    Type Parameters
    Name Description
    T

    The type of object in the items enumeration

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToCommaSeperatedList<string>(x => x, "'", "'").ToString();

    Would return:

    "'One','Two','Three'"

    See Also
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToCommaSeperatedList(IEnumerable)
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToConcatenatedList(IEnumerable, string)

    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)

    Returns a collection of items as a StringBuilder with a specified seperator between each item, and an optional prefix and suffix too

    Declaration
    public static StringBuilder ToConcatenatedList(this IEnumerable items, Func<object, string> toString, string seperator, string prefix, string suffix)
    Parameters
    Type Name Description
    IEnumerable items

    A list of items to enumerate and format in the returned string

    Func<object, string> toString

    A function that provides a string representation of an instance of an object in the items enumeration

    string seperator

    A string to use to separate each item in the items enumeration

    string prefix

    A string to create before the string representation of each item in the items enumeration

    string suffix

    A string to create after the srting representation of each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A StringBuilder holding each item in the items enumeration separated by a specified seperator with prefix and suffix characters

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToConcatenatedList(x => x, ", ", "'", "'").ToString();

    Would return:

    "'One','Two','Three'"

    See Also
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToConcatenatedList(IEnumerable, string)
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToCommaSeperatedList(IEnumerable)

    ToConcatenatedList(IEnumerable, string)

    Returns a collection of items as a StringBuilder with a specified seperator between each item

    Declaration
    public static StringBuilder ToConcatenatedList(this IEnumerable items, string seperator)
    Parameters
    Type Name Description
    IEnumerable items

    A list of items to enumerate and format in the returned string

    string seperator

    A string to use to separate each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A StringBuilder holding each item in the items enumeration separated by a specified seperator

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToConcatenatedList(", ").ToString();

    Would return:

    "One,Two,Three"

    See Also
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToCommaSeperatedList(IEnumerable)

    ToConcatenatedList(IEnumerable, string, string, string)

    Returns a collection of items as a StringBuilder with a specified seperator between each item, and an optional prefix and suffix too

    Declaration
    public static StringBuilder ToConcatenatedList(this IEnumerable items, string seperator, string prefix, string suffix)
    Parameters
    Type Name Description
    IEnumerable items

    A list of items to enumerate and format in the returned string

    string seperator

    A string to use to separate each item in the items enumeration

    string prefix

    A string to create before the string representation of each item in the items enumeration

    string suffix

    A string to create after the srting representation of each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A StringBuilder holding each item in the items enumeration separated by a specified seperator with prefix and suffix characters

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToConcatenatedList(", ", "'", "'").ToString();

    Would return:

    "'One','Two','Three'"

    See Also
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string)
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToCommaSeperatedList(IEnumerable)

    ToConcatenatedList<T>(IEnumerable<T>, Func<T, string>, string, string, string)

    Returns a collection of items as a StringBuilder with a specified seperator between each item, and an optional prefix and suffix too

    Declaration
    public static StringBuilder ToConcatenatedList<T>(this IEnumerable<T> items, Func<T, string> toString, string seperator, string prefix, string suffix)
    Parameters
    Type Name Description
    IEnumerable<T> items

    A list of items to enumerate and format in the returned string

    Func<T, string> toString

    A function that provides a string representation of an instance of T in the items enumeration

    string seperator

    A string to use to separate each item in the items enumeration

    string prefix

    A string to create before the string representation of each item in the items enumeration

    string suffix

    A string to create after the srting representation of each item in the items enumeration

    Returns
    Type Description
    StringBuilder

    A StringBuilder holding each item in the items enumeration separated by a specified seperator with prefix and suffix characters

    Type Parameters
    Name Description
    T

    The type of object in the items enumeration

    Remarks

    For example:

    (new string[] { "One", "Two", "Three" }).ToConcatenatedList<string>(x => x, ", ", "'", "'").ToString();

    Would return:

    "'One','Two','Three'"

    See Also
    ToConcatenatedList(IEnumerable, Func<object, string>, string, string, string)
    ToConcatenatedList(IEnumerable, string, string, string)
    ToConcatenatedList(IEnumerable, string)
    ToCommaSeperatedList(IEnumerable, Func<object, string>, string, string)
    ToCommaSeperatedList<T>(IEnumerable<T>, Func<T, string>, string, string)
    ToCommaSeperatedList(IEnumerable, string, string)
    ToCommaSeperatedList(IEnumerable)

    ToEnumValue(string, string)

    Convert a string to an enum value, using the enum's DisplayAttribute values.

    Declaration
    public static object ToEnumValue(this string self, string typeName)
    Parameters
    Type Name Description
    string self

    The string which should be a valid display name for the enum type

    string typeName

    A type name string of the enum

    Returns
    Type Description
    object

    ToEnumValue<T>(string)

    Convert a string to an enum value, using the enum's DisplayAttribute values.

    Declaration
    public static T ToEnumValue<T>(this string self) where T : Enum
    Parameters
    Type Name Description
    string self

    The string which should be a valid display name for the enum type

    Returns
    Type Description
    T
    Type Parameters
    Name Description
    T

    The type of enum

    ToField(string)

    Returns the given variable name as a field by prefixing an '_' sign and making the first character lowercase. For instance turning Variable into _variable

    Declaration
    public static string ToField(this string s)
    Parameters
    Type Name Description
    string s

    The string to return as a variable field equivelant

    Returns
    Type Description
    string

    The provided s string as a variable field name

    See Also
    ToParameter(string)

    ToParameter(string)

    Returns the given variable as a sql parameter by prefixing an '@' sign and making the first character lowercase. For instance turning Variable into @variable

    Declaration
    public static string ToParameter(this string s)
    Parameters
    Type Name Description
    string s

    The string to return as a variable equivelant

    Returns
    Type Description
    string

    The provided s string as a variable name

    See Also
    ToField(string)

    ToStringGrid<T>(IEnumerable<T>, ITreeNode<(string Name, string Key)>[], (string Name, string GroupKey)[], Func<T, string, string>, char)

    Returns a string formatted table with rows for each item in items and specified columns and heirarchical headers

    Declaration
    public static string ToStringGrid<T>(this IEnumerable<T> items, ITreeNode<(string Name, string Key)>[] columnGroups, (string Name, string GroupKey)[] columns, Func<T, string, string> getColumnValue, char seperator = '|')
    Parameters
    Type Name Description
    IEnumerable<T> items

    The collection of items to display as rows in a table

    ITreeNode<(string Name, string Key)>[] columnGroups

    Column headers can have heiarchical headers above them. This holds a list of column group headers. columns can specify a group they belong to

    (string FileTypeName, string fileType)[] columns

    A list of columns to display in the table

    Func<T, string, string> getColumnValue

    A function that given an item of type T and a column will return the string representation of that items column value

    char seperator

    An optional column separator. By default is |

    Returns
    Type Description
    string

    A formatted string that holds a table with the specified columns and associated group headers. Each item in the items is formatted as a row in the table

    Type Parameters
    Name Description
    T

    The type of item in the items enumeration

    Remarks

    For example:

    public class MyItem
    {
        public string Col1 { get; set; }
        public string Col2 { get; set; }
    }
    
    public string FormatAsTable()
    {
        var group = new TreeNode<(string, string)>(("Group Header", "GRP"));
        var items = new List<MyItem>() { new MyItem() { Col1 = "Item1.1", Col2 = "Item1.2" }, new MyItem() { Col1 = "Item2.1", Col2 = "Item2.2" } };
        return items.ToStringGrid(
            new ITreeNode<(string Name, string Key)>[] { group },
            new (string, string)[] { (nameof(MyItem.Col1), "GRP"), (nameof(MyItem.Col2), "GRP") },
            (item, col) => col switch { nameof(MyItem.Col1) => item.Col1, nameof(MyItem.Col2) => item.Col2, _ => "" });
    }

    Will return:

    "

    Group Header

    Col1 | Col2

    Item1.1 | Item1.2

    Item2.1 | Item2.2

    "

    The table columns are automatically expanded to a size that makes sure all column values fit

    See Also
    ToStringGrid<T>(IEnumerable<T>, string[], Func<T, string, string>, char)

    ToStringGrid<T>(IEnumerable<T>, string[], Func<T, string, string>, char)

    Returns a string formatted table with rows for each item in items and specified columns and heirarchical headers

    Declaration
    public static string ToStringGrid<T>(this IEnumerable<T> items, string[] columns, Func<T, string, string> getColumnValue, char seperator = '|')
    Parameters
    Type Name Description
    IEnumerable<T> items

    The collection of items to display as rows in a table

    string[] columns

    A list of columns to display in the table

    Func<T, string, string> getColumnValue

    A function that given an item of type T and a column will return the string representation of that items column value

    char seperator

    An optional column separator. By default is |

    Returns
    Type Description
    string

    A formatted string that holds a table with the specified columns and associated group headers. Each item in the items is formatted as a row in the table

    Type Parameters
    Name Description
    T

    The type of item in the items enumeration

    Remarks

    For example:

    public class MyItem
    {
        public string Col1 { get; set; }
        public string Col2 { get; set; }
    }
    
    public string FormatAsTable()
    {
        var items = new List<MyItem>() { new MyItem() { Col1 = "Item1.1", Col2 = "Item1.2" }, new MyItem() { Col1 = "Item2.1", Col2 = "Item2.2" } };
        return items.ToStringGrid(
        new string[] { nameof(MyItem.Col1), nameof(MyItem.Col2) },
        (item, col) => col switch { nameof(MyItem.Col1) => item.Col1, nameof(MyItem.Col2) => item.Col2, _ => "" });
    }

    Will return:

    "

    Col1 | Col2

    Item1.1 | Item1.2

    Item2.1 | Item2.2

    "

    The table columns are automatically expanded to a size that makes sure all column values fit

    Truncate(string, int)

    Truncates a string to a specified length

    Declaration
    public static string Truncate(this string value, int maxLength)
    Parameters
    Type Name Description
    string value
    int maxLength
    Returns
    Type Description
    string

    Wordify(string)

    Takes a given string, often a class name, and returns it as a set of words. For every capital letter in the specified s string the system will create a new word (unless it is an acroynm)

    Declaration
    public static string Wordify(this string s)
    Parameters
    Type Name Description
    string s

    The string with a name to return as a set of capitalized words

    Returns
    Type Description
    string

    Returns a wordified version of the string, creating a new word for each capitalized part of the original word

    Remarks

    For example:

    • MyClassName: Returns My Class Name
    • TLAClassName: Returns TLA Class Name
    • Singular: Returns Singular
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.