CommonNetFuncs.Core 3.2.0

dotnet add package CommonNetFuncs.Core --version 3.2.0                
NuGet\Install-Package CommonNetFuncs.Core -Version 3.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CommonNetFuncs.Core" Version="3.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CommonNetFuncs.Core --version 3.2.0                
#r "nuget: CommonNetFuncs.Core, 3.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CommonNetFuncs.Core as a Cake Addin
#addin nuget:?package=CommonNetFuncs.Core&version=3.2.0

// Install CommonNetFuncs.Core as a Cake Tool
#tool nuget:?package=CommonNetFuncs.Core&version=3.2.0                

CommonNetFuncs.Core

nuget

This lightweight project contains helper methods for several common functions required by applications.

Contents


Async

Helper methods for dealing with asynchronous processes. <details> <summary><h3>Usage Examples</h3></summary>

ObjectUpdate

Asynchronously update properties of a class using ObjectUpdate

//Fill the Name and Address property using async tasks
Person person = new();

//AsyncIntString helper class is used for int and string types since they can't otherwise be gotten asynchronously like this
AsyncIntString personPhotoLocation = new();

person.Id = 1;
List<Task> tasks =
[
    person.ObjectUpdate(nameof(Person.Name), GetPersonNameByIdAsync(person.Id)), //Fills person.Name with results of GetPersonNameByIdAsync(person.Id)

    person.ObjectUpdate(nameof(Person.Address), GetPersonAddressByIdAsync(person.Id)), //Fills person.Address with results of GetPersonAddressByIdAsync(person.Id)

    personPhotoLocation.ObjectUpdate(nameof(AsyncIntString.AsyncString), GetPersonPhotoLocationById(person.Id)) //Fills personPhotoLocation.AsyncString with the results of GetPersonPhotoLocationById(person.Id)
]
await Task.WhenAll(tasks);
ObjectFill

Object fill can be used to asynchronously fill classes and lists with.

Person person = new();
ConcurrentBag<Person> people = [];
List<Task> tasks =
[
    person.ObjectUpdate(GetPersonById(1)), //person is filled by results of GetPersonById(1) which returns type Person

    //people is filled by the results of all three calls to GetPeopleByState additively (all results will be present in people)
    people.ObjectUpdate(GetPeopleByState("Ohio")),
    people.ObjectUpdate(GetPeopleByState("California")),
    people.ObjectUpdate(GetPeopleByState("Texas"))
]
await Task.WhenAll(tasks);

</details>


Collections

Collections Usage Examples

Helper methods that work with collections such as IEnumerable, List, IDictionary, ConcurrentBag, and DataTable

<details> <summary><h3>Usage Examples</h3></summary>

AnyFast

Used to address issue CA1860 where it suggests using .Count for performance in an easier to type extension method

bool x = collection?.Any() == true;
//Or
collection?.Count > 0;
//Becomes
bool x = collection.AnyFast();
AddDictionaryItem & AddDictionaryItems

Used to directly TryAdd a KeyValuePair object(s) to a dictionary

KeyValuePair<string, string> JsonContentHeader = new("Content-Type", "application/json");

//Single addition
ConcurrentDictionary<string, string>? httpHeaders = [];
httpHeaders.AddDictionaryItem(JsonContentHeader);

//Add multiples
List<KeyValuePair<string, string>> keyValuePairs = [new("Accept-Encoding", "br"), new("Accept-Encoding", "gzip")];
httpHeaders.AddDictionaryItems(keyValuePairs);
AddRange & AddRangeParallel

[Description]

SetValue & SetValueParallel

[Description]

SelectNonEmpty

[Description]

SelectNonNull

[Description]

SingleToList

[Description]

GetObjectByPartial

[Description]

ToList

[Description]

ToListParallel

[Description]

ToDataTable

[Description]

ToDataTableReflection

[Description]

CombineExpressions

[Description]

StringAggProps

[Description]

IndexOf

[Description]

</details>


Copy

Copy Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

DateOnlyHelpers

DateHelpers Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

DateTimeHelpers

DateHelpers Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

DimensionScale

DimensionScale Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

ExceptionLocation

ExceptionLocation Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

FileHelpers

FileHelpers Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

Inspect

Inspect Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

MathHelpers

MathHelpers Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

Random

Random Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

RunBatches

RunBatches Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

Streams

Streams Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

Strings

Strings Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

TypeChecks

TypeChecks Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here

</details>

UnitConversion

UnitConversion Usage Examples

[Description here]

<details> <summary><h3>Usage Examples</h3></summary>

[MethodNameHere]
//Code here
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages (20)

Showing the top 5 NuGet packages that depend on CommonNetFuncs.Core:

Package Downloads
CommonNetFuncs.EFCore

Helper methods that deal with EFCore, including providing basic actions against a DB Context and handling navigation properties.

CommonNetFuncs.Web.Aws.S3

Helper methods that deal with AWS S3 interactions

CommonNetFuncs.Sql.Common

Helper methods that deal with preparing and executing queries.

CommonNetFuncs.DeepClone

Helper methods that deal with deep cloning objects (copying an object without a memory reference).

CommonNetFuncs.Compression

Helper methods that deal with compression and decompression of both files and streams.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.2.0 176 12/19/2024
3.1.5 98 12/16/2024
3.1.2 134 12/13/2024
3.1.0 240 12/6/2024
3.0.0 197 12/3/2024
2.1.3 198 12/3/2024
2.1.0 190 12/2/2024
2.0.5 184 11/26/2024
2.0.3 92 11/20/2024
2.0.2 228 11/18/2024
2.0.1 181 11/15/2024
2.0.0 193 11/14/2024
1.0.47 222 11/14/2024
1.0.42 263 11/12/2024
1.0.40 249 11/12/2024
1.0.37 288 11/4/2024
1.0.31 247 10/31/2024
1.0.28 269 10/25/2024
1.0.26 272 10/18/2024
1.0.25 195 10/17/2024 1.0.25 is deprecated because it has critical bugs.
1.0.24 191 10/17/2024
1.0.19 266 10/11/2024
1.0.17 389 9/27/2024
1.0.16 233 9/27/2024
1.0.14 244 9/23/2024
1.0.13 252 9/18/2024
1.0.12 336 9/18/2024
1.0.10 311 9/11/2024
1.0.9 310 9/11/2024
1.0.8 353 9/11/2024
1.0.7 359 9/11/2024
1.0.6 143 9/9/2024
1.0.5 131 9/5/2024
1.0.4 137 9/5/2024
1.0.3 131 9/4/2024
1.0.2 119 9/4/2024
1.0.1 318 9/4/2024
1.0.0 289 9/2/2024