SkyRez.ConsoleMenu
3.9.16.19
dotnet add package SkyRez.ConsoleMenu --version 3.9.16.19
NuGet\Install-Package SkyRez.ConsoleMenu -Version 3.9.16.19
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="SkyRez.ConsoleMenu" Version="3.9.16.19" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SkyRez.ConsoleMenu --version 3.9.16.19
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SkyRez.ConsoleMenu, 3.9.16.19"
#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 SkyRez.ConsoleMenu as a Cake Addin
#addin nuget:?package=SkyRez.ConsoleMenu&version=3.9.16.19
// Install SkyRez.ConsoleMenu as a Cake Tool
#tool nuget:?package=SkyRez.ConsoleMenu&version=3.9.16.19
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Библиотека ConsoleMenu
Библиотека ConsoleMenu предоставляет простой способ создания текстовых меню в консоли для интерактивных приложений на C#.
Установка
Для использования библиотеки ConsoleMenu, добавьте следующий using
в вашем коде:
global using ConsoleMenu;
Использование
- Создайте экземпляр класса Menu с помощью конструктора, указав заголовок и элементы меню:
Menu MainMenu = new Menu("Выберите элемент меню:",
new MenuItem("Метка 1", Test("Метка 1")),
new MenuItem("Метка 2", Test("Метка 2")),
new MenuItem("Метка 3", Test("Метка 3"))
)
.AddMenuItem("Метка 4", Test("Метка 4"))
.AddMenuItem("Метка 5", Test("Метка 5"));
- В конструкторе элементов меню первый параметр - текст, который будет отображаться в консоли, а второй параметр - функция Action, которая будет выполнена при выборе элемента меню.
- В menu.GetIndex() и menu.Apply() можно указать начальное значение, на котором будет находиться селектор выбора элемента меню.
Пример использования в коде:
public static void Main()
{
Menu MainMenu = new Menu("Выберите элемент меню:",
new MenuItem("Метка 1", () => { Console.WriteLine("Метка 1!"); Console.ReadKey(); }),
new MenuItem("Метка 2", () => { Console.WriteLine("Метка 2!"); Console.ReadKey(); }),
new MenuItem("Метка 3", () => { Console.WriteLine("Метка 3!"); Console.ReadKey(); })
)
.AddMenuItem("Метка 4", () => { Console.WriteLine("Метка 4!"); Console.ReadKey(); })
.AddMenuItem("Метка 5", () => { Console.WriteLine("Метка 5!"); Console.ReadKey(); });
MainMenu:
if (IsNewMenu)
{
MainMenu.Apply();
goto MainMenu;
}
else switch (MainMenu.GetIndex())
{
case 0: goto label1;
case 1: goto label2;
case 2: goto label3;
case 3: goto label4;
case 4: goto label5;
};
label1:
Console.WriteLine("Метка 1!");
Console.ReadKey();
goto MainMenu;
label2:
Console.WriteLine("Метка 2!");
Console.ReadKey();
goto MainMenu;
label3:
Console.WriteLine("Метка 3!");
Console.ReadKey();
goto MainMenu;
label4:
Console.WriteLine("Метка 4!");
Console.ReadKey();
goto MainMenu;
label5:
Console.WriteLine("Метка 5!");
Console.ReadKey();
goto MainMenu;
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- 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.