Daily Archives: May 7, 2021

C# || How To Shuffle & Randomize An Array/List/IEnumerable Using C#

The following is a module with functions which demonstrates how to randomize and shuffle the contents of an Array/List/IEnumerable using C#.

This function shuffles an IEnumerable and returns the results as a new List(Of T).

This function is generic, so it should work on IEnumerables of any datatype.


1. Shuffle – Integer Array

The example below demonstrates the use of ‘Utils.Extensions.Shuffle‘ to randomize an integer array.


2. Shuffle – String List

The example below demonstrates the use of ‘Utils.Extensions.Shuffle‘ to randomize a list of strings.


3. Shuffle – Custom Object List

The example below demonstrates the use of ‘Utils.Extensions.Shuffle‘ to randomize a list of custom objects.


4. Utils Namespace

The following is the Utils Namespace. Include this in your project to start using!


5. More Examples

Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.

C# || Word Wrap – How To Split A String Text Into lines With Maximum Length Using C#

The following is a module with functions which demonstrates how to split text into multiple lines using C#.

The following function is an extension method, which takes a string, and splits it into multiple lines (array indices) of a specified length.

An optional boolean parameter specifies whether this function should break up long individual words to fit as many characters as possible on a line.

With this option enabled, if a word is too long to fit on a line, the word is broken up to fit as many characters as possible up to the maximum length on the current line, and the remaining characters gets moved to the next line (the next array index).

Note: Don’t forget to include the ‘Utils Namespace‘ before running the examples!


1. Word Wrap – Don’t Break Words

The example below demonstrates the use of ‘Utils.Extensions.WordWrap‘ to split a string into multiple lines.

In this example, individual words are not broken up. They are simply moved onto the next line (if necessary).


2. Word Wrap – Break Words

The example below demonstrates the use of ‘Utils.Extensions.WordWrap‘ to split a string into multiple lines.

In this example, individual words are broken up and moved onto the next line (if necessary), with the default hyphen character used, which is a dash (‘-‘).


3. Utils Namespace

The following is the Utils Namespace. Include this in your project to start using!


4. More Examples

Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.

C# || How To Get First/Last Day Of The Week And The First/Last Day Of The Month

The following is a module with functions which demonstrates how to get the first and last day of the week, as well as how to get the first and last day of the month using C#.


1. First & Last Day Of Week

The example below demonstrates the use of ‘Utils.DateRange.GetWeekStartAndEnd‘ to get the first and last day of the week.

By default, the start of the week is set on Monday. This can be changed by setting the second parameter to any valid property contained in the System.DayOfWeek enum.


2. First & Last Day Of Month

The example below demonstrates the use of ‘Utils.DateRange.GetMonthStartAndEnd‘ to get the first and last day of the week.


3. Utils Namespace

The following is the Utils Namespace. Include this in your project to start using!


4. More Examples

Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.