У меня есть это if-else
заявление, которое делает то, что я хочу. То, что он делает, довольно просто, как вы должны быть в состоянии сказать.Neatest/самый идиоматический способ переписать это Если в C#
if (width != null && height != null)
{
if (top != null && left != null)
{
ret.type = VMLDimensionType.full;
}
else
{
ret.type = VMLDimensionType.size;
}
}
else
{
if (top != null && left != null)
{
ret.type = VMLDimensionType.positon;
}
else
{
ret.type = VMLDimensionType.unset;
}
}
enum
именуется является:
private enum VMLDimensionType
{
unset = 0,
full = 1,
size = 2,
position = 3
}
Это так просто, я уверен, что есть гораздо более лаконична и более читаемый способ выразить это.
NB Если бы не смехотворное правило «одной скобки в строке», которое VS накладывает по умолчанию, я, вероятно, не буду так беспокоиться. Например, в VB я мог потерять около 10 строк из этого кодового блока! (любые мысли о том, что, как в сторону?)
Если бы я не просчет его, версия VB.NET будет 7 строк короче, версия без скобок 12 строк. – Bobby
Можете ли вы разместить перечисление 'VMLDimensionType'? Это могло бы быть проще, если бы это было перечисление Flags. – Ani
@Bobby Correctomundo :) –