Sunnyyssh.ConsoleExtensions
1.1.0
dotnet add package Sunnyyssh.ConsoleExtensions --version 1.1.0
NuGet\Install-Package Sunnyyssh.ConsoleExtensions -Version 1.1.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="Sunnyyssh.ConsoleExtensions" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sunnyyssh.ConsoleExtensions --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sunnyyssh.ConsoleExtensions, 1.1.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 Sunnyyssh.ConsoleExtensions as a Cake Addin #addin nuget:?package=Sunnyyssh.ConsoleExtensions&version=1.1.0 // Install Sunnyyssh.ConsoleExtensions as a Cake Tool #tool nuget:?package=Sunnyyssh.ConsoleExtensions&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sunnyyssh.ConsoleExtensions
Defined types description
ConsoleUI
public static class ConsoleUI
Defined static methods
Method signature | Description |
---|---|
LoopMethodTillBreak(Action?, ConsoleKey, bool, string?) |
Loops given method invoking untill user breaks it using specified key. |
SetConsoleFileInput(string) |
Opens file and reads from it instead of console standard stream. (When Console.ReadLine() invoked text from file will be read). |
SetConsoleStringInput(string stringInput) |
Opens string stream and reads from it instead of standard console stream. (When Console.ReadLine() invoked text from string will be read). |
SetConsoleStansardInput() |
Sets back standard input. |
PrintMany(params object[]) |
Writes objects to console with space separator. |
PrintMany(char, params object[]) |
Writes objects to console with given separator |
PrintMany(string, params object[]) |
Writes objects to console with given separator |
Here is an example of their usage.
// It will invoke OneFrame() then write to console message to press something then invokes again if continue. Just try it.
ConsoleUI.LoopMethodTillBreak(OneFrame, ConsoleKey.Escape, true);
void OneFrame()
{
Console.WriteLine("Hi, thanks for using my package <3");
}
// Sets console input stream from file
ConsoleUI.SetConsoleFileInput(@"im _too_lazy.txt");
// It will read from file, not from console. It's actually useful when you debug something many times with same input. Just write it to the file and make this.
string? s = Console.ReadLine();
Console.WriteLine(s);
// The string which has input like you write it to console yourself
string stringInput = "Hey there! \n " +
"You can follow tg channel @vowtostrive \n" +
"1 2 3 4";
// Sets input of console from string
ConsoleUI.SetConsoleStringInput(stringInput);
// Below just simple reading "from console" but actually from string
string? greeting = Console.ReadLine(); // "Hey there! "
string? tgChannel = Console.ReadLine(); // "You can follow tg channel @vowtostrive "
int[] numbers = Console.ReadLine().Split().Select(s => int.Parse(s)).ToArray(); // int[4] {1, 2, 3, 4}
string s = "line from string";
ConsoleUI.SetConsoleStringInput(s);
string stringFromString = Console.ReadLine();
//Sets back console standard stream input
ConsoleUI.SetConsoleStandardInput();
// This string will be read from console
string stringFromConsole = Console.ReadLine();
ConsoleUI.PrintMany(new Guid(), DateTime.Now.ToString("d"), "Haha");
// 00000000-0000-0000-0000-000000000000 11.11.2023 Haha
ConsoleUI.PrintMany(separator:'\t', 2, 3, 23);
// 2 3 23
ConsoleUI.PrintMany(" and ", "Pinokio", "Shrek", "Smurf");
// Pinokio and Shrek and Smurf
ConsoleObjectsExtensions
public static class ConsoleObjectsExtensions
Defined static extension methods
Method signature | Description |
---|---|
Print(this bool) |
Writes bool value to console. |
Print(this object?) |
Writes any object value to console, "null" if it is null. |
Print(this int) |
Writes int value to console. |
Print(this double) |
Writes double value to console. |
Print(this IFormattable?, string?) |
Writes IFormattable value with given format to console. |
Print(this int, string?) |
Writes int value with given format to console. |
Print(this double, string?) |
Writes double value with given format to console. |
Print<T>(this IEnumerable<T>?) |
Writes IEnumerable<T> to console with space separator. |
Print<T>(this IEnumerable<T>?, char) |
Writes IEnumerable<T> to console with given separator. |
Print<T>(this IEnumerable<T>?, string?) |
Writes IEnumerable<T> to console with given separator. |
Print<TFormattable>(this IEnumerable<TFormattable>?, char, string?) |
Writes IEnumerable<T> to console with given separator and format. |
Print<TFormattable>(this IEnumerable<TFormattable>?, string?, string?) |
Writes IEnumerable<T> to console with given separator and format. |
Print<T>(this IEnumerable<T>?, char, Func<T, string>) |
Writes IEnumerable<T> to console with given separator and convertor. |
Print<T>(this IEnumerable<T>?, string?, Func<T, string>) |
Writes IEnumerable<T> to console with given separator and convertor. |
Here is an example of their usage
bool isItImpossible = false;
isItImpossible.Print();
// False
object o = new Guid(1, 2, 3, 4, 5, 6 ,7, 8, 9, 10, 11);
o.Print();
// 00000001-0002-0003-0405-060708090a0b
int dotnetLoveRate = Int32.MaxValue;
dotnetLoveRate.Print();
// 2147483647
Math.PI.Print();
// 3,141592653589793
DateTime.Now.Print(format: "d");
// 11.11.2023
12233424.Print("E");
// 1,223342E+007
Math.Pow(Math.PI, 2).Print("f2");
// 9,869604401089358
Range[] ranges = new Range[] { 1..2, 3..4, Range.All };
ranges.Print();
// 1..2 3..4 0..^0
Enumerable.Range(-10, 27).Where(x => x % 7 == 0).Print('\t');
// -7 0 7 14
"Paris, Moscow, Kazan, ".Split(", ", StringSplitOptions.RemoveEmptyEntries).Print(";\n");
// Paris;
// Moscow;
// Kazan
double[] whatIsIt = { 1.0 / 3, 1.0 / 999, 1.0 / 12 };
whatIsIt.Print(' ', "f4");
// 0,3333 0,0010 0,0833
Enumerable.Range(8, 16).Print("; ", "X");
// 8; 9; A; B; C; D; E; F; 10; 11; 12; 13; 14; 15; 16; 17
new int[3] {1, 2, 14}.Print(' ', x => $"oil_{x}");
// oil_1 oil_2 oil_14
whatIsIt.Print(" and ", d => $"{d * 2:P} loaded");
// 66,67 % loaded and 0,20 % loaded and 16,67 % loaded
Thanks for installing my package <3 You can write me to my telegram @sunnyyssh
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Added documentation. Read it in README file