Как принимать входы символов в C #? [Дубликат]

Я предпочитаю использовать функцию forEach, которая имеет собственное закрытие с созданием псевдодиапазона:

var funcs = [];

new Array(3).fill(0).forEach(function (_, i) { // creating a range
    funcs[i] = function() {            
        // now i is safely incapsulated 
        console.log("My value: " + i);
    };
});

for (var j = 0; j < 3; j++) {
    funcs[j](); // 0, 1, 2
}

Это выглядит более уродливым, чем диапазоны на других языках, но IMHO менее чудовищным, чем другие решения.

7
задан Dawid Ferenczy 14 May 2016 в 00:37
поделиться

2 ответа

Используйте Console.ReadKey , а затем KeyChar, чтобы получить char, потому что ConsoleKeyInfo не назначается char, как говорит ваша ошибка.

input[i] = Console.ReadKey().KeyChar;
25
ответ дан Dawid Ferenczy 26 August 2018 в 04:49
поделиться

Быстрый пример для игры:

    public static void DoThis(int n)
    {
        var input = new char[n];
        for (var i = 0; i < input.Length; i++)
        {
            input[i] = Console.ReadKey().KeyChar;
        }

        Console.WriteLine(); // Linebreak
        Console.WriteLine(input);

        Console.ReadKey();
    }
0
ответ дан Kjartan 26 August 2018 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: