Хакер писал(а):iif для этой роли создаёт ещё одну проблему переносимости с VB6 под VB.NET
Переноситель кода vb6 -> net детектед
Бобро пожаловать.
Хакер писал(а):iif для этой роли создаёт ещё одну проблему переносимости с VB6 под VB.NET
Antonariy писал(а):Переноситель кода vb6 -> net детектед
Бобро пожаловать.
исправлено наQwertiy писал(а):C#:ok, VB:fail
Команда может начинаться со скобки или new.
- Код: Выделить всё
(New Cls()).DoIt()
C#:ok, VB:failBoth:ok
Команда может начинаться со скобки или new.
- Код: Выделить всё
Call (New Cls()).DoIt()
Qwertiy писал(а):Невозможно использовать логическое Не к целым числам, как в Си.
Хакер писал(а):iif для этой роли создаёт ещё одну проблему переносимости с VB6 под VB.NET
Qwertiy писал(а):IIf тоже существует. Разница в том, что If выполняет действия лениво, а при использовании IIf вычисляются все выражения.
Proxy писал(а):Т.е. "лениво"?
Dim A = If(True, MsgBox("If True :: True"), MsgBox("If True :: False"))
Dim B = IIf(True, MsgBox("IIf True :: True"), MsgBox("IIf True :: False"))
Proxy писал(а):Что-то вроде работы замыкающей дизъюнкции?
Qwertiy писал(а):А вот что это - уже я не знаю.
Qwertiy писал(а):IIf тоже существует. Разница в том, что If выполняет действия лениво, а при использовании IIf вычисляются все выражения.
FireFenix писал(а):Qwertiy писал(а):IIf тоже существует. Разница в том, что If выполняет действия лениво, а при использовании IIf вычисляются все выражения.
Пруф?
Proxy писал(а):Вот так используется замыкающая конъюнкция:if (denom != 0 && num / denom > 10)
FireFenix писал(а):Qwertiy писал(а):IIf тоже существует. Разница в том, что If выполняет действия лениво, а при использовании IIf вычисляются все выражения.
Пруф?
Dim A = If(True, MsgBox("If True :: True"), MsgBox("If True :: False"))
Dim B = IIf(True, MsgBox("IIf True :: True"), MsgBox("IIf True :: False"))
Qwertiy писал(а):IIf тоже существует. Разница в том, что If выполняет действия лениво, а при использовании IIf вычисляются все выражения.
Хакер писал(а):Причём тут ленивость. Не нужно лепить термины, которые совершенно не соответствуют ситуации.
Хакер писал(а):И более того, каков был смысл отвечать всем этим предложением на мою отцитированную фразу?
Proxy писал(а):А этого я не понимю, с iif же выглядело гораздо лучше, разве нет? Зачем было делать двойную нагрузку на "if"?
Хакер писал(а):По этой причине, если вы создаёте язык, который должен обеспечивать обратную совместимость с VB6, iif в нём должен остаться функцией, а для тернарного оператора нужно выбрать что-то другое.
Qwertiy писал(а):Термин был применён верно. Он обозначает именно то, что есть.
Qwertiy писал(а):Хм... На самом деле я отвечал на
Qwertiy писал(а):Но ведь так оно и есть.
Хакер писал(а):Почему «но»? Где скрытое или явное противоречие с моими словами?
"Создаёт" означает, что проблема есть. Раз её нет, должно быть "создаст" или "создало бы".Хакер писал(а):iif для этой роли создаёт ещё одну проблему переносимости с VB6 под VB.NET
Qwertiy писал(а):"Создаёт" означает, что проблема есть.
Qwertiy писал(а):Хакер писал(а):Причём тут ленивость. Не нужно лепить термины, которые совершенно не соответствуют ситуации.
Термин был применён верно. Он обозначает именно то, что есть.
Friend Shared Function IIf(Of T)(ByVal Condition As Boolean, ByVal TruePart As T, ByVal FalsePart As T) As T
If Condition Then
Return TruePart
End If
Return FalsePart
End Function
Public Shared Function IIf(ByVal Expression As Boolean, ByVal TruePart As Object, ByVal FalsePart As Object) As Object
If Expression Then
Return TruePart
End If
Return FalsePart
End Function
Qwertiy писал(а):И обратите внимание, что If - это конструкция, а IIf - функция
Хакер писал(а):Правильный ответ: одно — тернарный оператор, другое — обыкновенная функция.
FireFenix писал(а):На самом деле всё гораздо проще.
If - оператор
IIf - функция
Qwertiy писал(а):Хакер писал(а):Правильный ответ: одно — тернарный оператор, другое — обыкновенная функция.FireFenix писал(а):На самом деле всё гораздо проще.
If - оператор
IIf - функция
Кто ещё хочет предложить свой вариант этой фразы?
Когда я только начинал заниматься X, я тоже этого стыдился, делал это в одиночестве и старался запереться на ключ, чтобы никто не мог застать меня за этим занятием ВНЕЗАПНО. Но однажды понял, что это ложный стыд и ничего особенного в этом нет, и стал заниматься X когда захочется, не обращая внимания на окружающих.
Странный подход, заниматься или не заниматься чем либо в угоду окружающим. Мне например глубоко пофиг, нравиться кому-то то, что я делаю или нет, главное, что-бы самому нравилось.Antonariy писал(а):Когда я только начинал заниматься дотнетом, я тоже этого стыдился, делал это в одиночестве и старался запереться на ключ, чтобы никто не мог застать меня за этим занятием ВНЕЗАПНО.
Вот именно! Так всегда и нужно поступать.Antonariy писал(а):Но однажды понял, что это ложный стыд и ничего особенного в этом нет, и стал заниматься дотнетом когда захочется, не обращая внимания на окружающих.
Подрочи в автобусе.ger_kar писал(а): Странный подход, заниматься или не заниматься чем либо в угоду окружающим. Мне например глубоко пофиг, нравиться кому-то то, что я делаю или нет, главное, что-бы самому нравилось.
Debugger писал(а):Когда я только начинал заниматься X, я тоже этого стыдился, делал это в одиночестве и старался запереться на ключ, чтобы никто не мог застать меня за этим занятием ВНЕЗАПНО. Но однажды понял, что это ложный стыд и ничего особенного в этом нет, и стал заниматься X когда захочется, не обращая внимания на окружающих.
Вместо X так и хочется поставить что-то плохое. Но на деле X="дотнет".
Antonariy писал(а):Подрочи в автобусе.
krukovis84 писал(а):А почему никто не вспомнил, что на VB.NET невозможно написать DLL?
krukovis84 писал(а):; - рудимент, конечно.
FireFenix писал(а):krukovis84 писал(а):А почему никто не вспомнил, что на VB.NET невозможно написать DLL?
Кто тебе сказал?
Proxy писал(а):krukovis84 писал(а):; - рудимент, конечно.
Как же так? Ведь это удобней читается, чем CrLf (лишние заморочки с переводом каретки, приходится использовать там, где они явно не нужны или использовать вместо crlf альтернативное окончание).
krukovis84 писал(а):Нет лишних нагромождений Dim i as Integer, а лаконичное int i;
Dim form as New Form 'VB.NET
Form form = new Form; //CSharp
Вернуться в Holy Wars@VBStreets
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25