Как это можно оптимизировать и привести в нормальный вид?
public void NewGenerating()
{
Generating = Random.Range(1, 5);
if (Generating == 1)
{
}
if (Generating == 2)
{
}
if (Generating == 3)
{
}
if (Generating == 4)
{
}
if (Generating == 5)
{
}
}
Обычное ветвление с использованием условного оператора не является чем-то зазорным. Пока ветки не содержат вложенных инструкций, блок кода может выглядеть излишне раздутым, но это перестанет быть таковым, когда в условиях будет реализация.
C# также позволяет осуществлять ветвление с помощью оператора switch
. Однако следует понимать, что выражения во всех case
должны быть одного и того же типа.
public void NewGenerating()
{
Random r = new Random();
switch (r.Next(1, 5))
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}
Также можно использовать словарь значений Dictionary(int, Action)
. В качестве ключа - сгенерированное число, в качестве значения - функция с инструкциями, которая позже вызывается.
public void NewGenerating()
{
Dictionary<int, Action> vars = new Dictionary<int, Action>();
vars.Add(1, () => { /*Console.WriteLine("1 was generated");*/ });
vars.Add(2, () => { });
vars.Add(3, () => { });
vars.Add(4, () => { });
vars.Add(5, () => { });
Random r = new Random();
Action ac = vars[r.Next(1, 5)];
ac();
}
Программа берет из реестра значение ключа, но в полученной строке есть неизвестные символы, которые мешают правильной обработки строкСама...
Есть код, который обновляет имя пользователя