Member 10891595 Ответов: 3

Можем ли мы присвоить строку целому числу


привет эксперт \
можем ли мы присвоить строковое значение номеру, введенному в текстовое поле, без использования каких-либо операторов case,for,switch и case.


например, если пользователь вводит 1 в текстовое поле, он назначает ему понедельник без использования оператора case, loop и switch

Что я уже пробовал:

можем ли мы присвоить строковое значение номеру, введенному в текстовое поле, без использования каких-либо операторов case,for,switch и case.


например, если пользователь вводит 1 в текстовое поле, он назначает ему понедельник без использования оператора case, loop и switch

Jochen Arndt

Я не знаю, правильно ли я вас понял, но вы можете использовать таблицу поиска после проверки того, что число (индекс) находится в пределах поддерживаемого диапазона.

Pete O'Hanlon

Для меня это подозрительно похоже на домашнее задание.

Philippe Mori

Не повторяйте одно и то же дважды. Если бы вместо того, чтобы писать одно и то же дважды, вы предоставили бы некоторую дополнительную информацию, это было бы более полезно. Не ждите большой помощи, если не приложите усилий, чтобы написать хороший вопрос. Кстати, где ваш исходный код? И пример тоже не повредит.

3 Ответов

Рейтинг:
2

Bryian Tan

Просто хочу, чтобы бросить в несколько более примеру. Мне тоже нравится перечисление, если набор элементов постоянен, в нашем случае имена дней недели. С точки зрения производительности, я думаю, что словарь - это кандидат.

IList<string> days = new List<string>()
{
    "", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
};

var dayList1 = days.ElementAt(1); //Monday
var dayList2 = days.ElementAt(3); //Wednesday

Hashtable hashtable = new Hashtable();
hashtable[1] = "Monday";
hashtable[2] = "Tuesday";
hashtable[3] = "Wednesday";
hashtable[4] = "Thursday";
hashtable[5] = "Friday";
hashtable[6] = "Saturday";
hashtable[7] = "Sunday";

var dayHash1 = hashtable[1]; //Monday
var dayHash2 = hashtable[6]; //Saturday


Рейтинг:
14

Afzaal Ahmad Zeeshan

Для этого в вашем случае вам понадобится тип перечисления, а не целочисленный тип. Типы перечислений можно использовать в таких случаях, когда вы можете иметь визуальные элементы в программировании, а затем использовать их значения и так далее. Например, следующее перечисление,

enum Days {
   Monday = 1,
   Tuesday = 2,
   Wednesday = 3,
   Thursday = 4, 
   Friday = 5,
   Saturday = 6,
   Sunday = 7
}

Теперь, когда вы получаете пользовательский ввод, вы можете просто привести его к этому значению перечисления, но здесь потребуется приведение от строки к целому числу,
Console.WriteLine((Days) 1); // Monday

Но литье из строки не будет работать, и никогда не будет работать, потому что вы не можете бросить из строки в дни. В случае извлечения значения из текстового поля применяется тот же случай, вам нужно сначала преобразовать значение в целое число, проанализировав его, затем вам нужно преобразовать его в имя и распечатать.

Для примера, пожалуйста, смотрите, Главная | .Чистая Скрипка[^], вы также можете ознакомиться со следующей документацией MSDN, Перечисление.Метод ToString (System)[^]


ZurdoDev

Там тоже перечисление.Parse() и можно использовать перечисление.Метод isdefined().

Рейтинг:
0

Peter Leow

Да с Словарь[^]