Какой код самый лучший VB.NET
If role = "Administrator" Then MultiLevelMenu.Visible = True Else MultiLevelMenu.Visible = False End If
или
MultiLevelMenu.Visible = role = "Administrator"
Что я уже пробовал:
Это просто читабельность?
If role = "Administrator" Then MultiLevelMenu.Visible = True Else MultiLevelMenu.Visible = False End If
MultiLevelMenu.Visible = role = "Administrator"
Оба кода делают одно и то же, и они тоже компилируются в один и тот же код.
Первую форму обычно предпочитают новички, потому что им легче читать.
Вторая форма обычно предпочитается экспериментирующими пользователями, потому что она более компактна и так же легко читается.
Я предпочитаю
MultiLevelMenu.Visible = ( role = "Administrator" )
role = "Administrator" MultiLevelMenu.Visible = role
Спасибо, не был уверен, что это более эффективно, но если он компилируется в тот же код, то более легкий для чтения сегмент будет в порядке.
Современные компиляторы-это оптимизаторы.
Используйте первое: второе сбивает с толку, так как подразумевает, что оно должно читаться как два задания:
role = "Administrator" MultiLevelMenu.Visible = role(Это одна из причин, по которой C# является лучшим языком, чем VB: оператор присваивания " = "не совпадает с оператором проверки равенства" ==")
MultiLevelMenu.Visible = (role = "Administrator")Но только потому, что вы можете что-то сделать, это не значит, что вы должны...
Я не из VB.Чистый фон, но если я могу связать это с C#, либо вы можете попробовать первый вариант, т. е.,
If role = "Administrator" Then MultiLevelMenu.Visible = True Else MultiLevelMenu.Visible = False End If
'MultiLevelMenu.Visible = (role == "Administrator"? true : false) //in c# MultiLevelMenu.Visible = If(role = "Administrator", true, false)