Skip to content

MultiSelect

MultiSelect プロンプトはチェックボックスを使ってリストから複数の項目を選択させます。

基本的な使い方

csharp
var cities = Prompt.MultiSelect("Which cities would you like to visit?",
    new[] { "Seattle", "London", "Tokyo", "New York", "Singapore", "Shanghai" },
    pageSize: 3);
Console.WriteLine($"You picked {string.Join(", ", cities)}");

パラメータ

パラメータ説明
messagestringユーザーに表示するメッセージ
itemsIEnumerable<T>?選択肢の項目 (Enum 型の場合は自動生成)
pageSizeint1 ページあたりの表示項目数 (デフォルト: 無制限)
minimumint選択必須の最小項目数 (デフォルト: 1)
maximumint選択可能な最大項目数 (デフォルト: 無制限)
defaultValuesIEnumerable<T>?デフォルトで選択される項目
textSelectorFunc<T, string>?項目を表示テキストに変換する関数

Options クラス

csharp
var cities = Prompt.MultiSelect(new MultiSelectOptions<string>
{
    Message = "Which cities would you like to visit?",
    Items = new[] { "Seattle", "London", "Tokyo", "New York", "Singapore", "Shanghai" },
    PageSize = 3,
    Minimum = 1,
    Maximum = 3,
    DefaultValues = new[] { "Tokyo" }
});

プロパティ

プロパティデフォルト説明
ItemsIEnumerable<T>選択肢の項目
DefaultValuesIEnumerable<T>[]デフォルトで選択される項目
PageSizeintint.MaxValue1 ページあたりの項目数
Minimumint1選択必須の最小数
Maximumintint.MaxValue選択可能な最大数
TextSelectorFunc<T, string>x => x.ToString()!表示テキストセレクタ
LoopingSelectionbooltrueリストの先頭/末尾でループするかどうか

Enum 型の使用

csharp
var values = Prompt.MultiSelect<MyEnum>("Select enum values", defaultValues: new[] { MyEnum.Bar });
Console.WriteLine($"You picked {string.Join(", ", values)}");

Fluent API

csharp
using Sharprompt.Fluent;

var cities = Prompt.MultiSelect<string>(o => o.WithMessage("Which cities would you like to visit?")
                                               .WithItems(new[] { "Seattle", "London", "Tokyo" })
                                               .WithPageSize(3));

Released under the MIT License.