Я не знаю, почему ты этого хочешь, но ты можешь:
min_a_b = A + B - max(A, B)
Связанные сравнения очень полны, но до основных отличий я отметил бы следующее:
В целом вещи внимание MS на для каждого варьируется, потому что эти два языка предназначены для совсем других зрителей. Это сообщение в блоге имеет хорошую сводку целевых аудиторий. Это - вероятно, хорошая идея определить, в какой аудитории Вы находитесь, потому что это определит, какие инструменты Вы получите от Microsoft.
Кроме синтаксиса не так очень больше. Они оба компилируют в точно тот же IL, таким образом, можно скомпилировать что-то как VB и отразить его в C#.
большинством очевидных различий является синтаксический сахар. Например, VB, кажется, поддерживает динамические типы, но действительно они так же статичны как C# - компилятор VB понимает их.
Visual Studio ведет себя по-другому с VB, чем с C# - это скрывает большую функциональность, но добавляет фоновую компиляцию (большой для маленьких проектов, ресурс hogging для больших) и лучшая поддержка отрывка.
Со все большим количеством компилятора 'волшебство' в C#3 VB.Net действительно отстал. Единственная вещь VB теперь имеет это C#, не делает handles
ключевое слово - и это имеет спорную выгоду.
@Tom - настолько действительно полезный, но немного устаревший - VB.Net теперь поддерживает документы XML также с '''
@Luke - VB.Net все еще не имеет скоро-методов, но действительно теперь поддерживает лямбды.
Одно явное различие находится в том, как они обрабатывают дополнительные методы (Vb. Сеть на самом деле позволяет что-то, что C# не делает - передача типа, на котором дополнительный метод определяется как касательно): http://blog.gadodia.net/extension-methods-in-vbnet-and-c/
Scott Hanselman недавно записал интересной статье контрастирующий var и Тусклый: Назад к основам: var! = Тусклый
Когда это получает к IL все просто биты. Та нечувствительность к регистру является просто передачей предварительного компилятора. Но общее согласие, vb является более подробным. Если можно записать c#, почему бы не сохранить глаза и руки и записать меньший объем кода, чтобы сделать то же самое.
Одно явное различие находится в том, как они обрабатывают дополнительные методы (Vb. Сеть на самом деле позволяет что-то, что C# не делает - передача типа, на котором дополнительный метод определяется как касательно): http://blog.gadodia.net/extension-methods-in-vbnet-and-c/
Так как я предполагаю, что можно погуглить, я не думаю, что ссылка на большее количество сайтов - то, что Вы ищете.
Мой ответ: Выберите основу на истории Ваших разработчиков. C# является больше JAVA как, и вероятно C++ как. VB.NET был легче для программистов VB, но я предполагаю, что это больше - не действительно проблема синус, там не новые программисты.NET, происходящие из старого VB.
Мое мнение - то, что VB более продуктивен затем C#, кажется, что это всегда вперед с точки зрения инструментов для повышения производительности (таких как intelisense), и я рекомендовал бы vb по c# кому-то, который спрашивает. Конечно, кто-то, который знает, что он предпочитает c#, не спросит, и c# является, вероятно, правильным выбором для него.
Хотя сахар синтаксиса на C#3 действительно продвинул панель, я должен сказать, что некоторые Linq к материалу XML в VB.Net кажутся довольно хорошими и делают комплекс обработки, глубоко вложенный XML терпимым. Просто немного.
Эта тема имела много времени личного контакта, так как.Net 2.0 был выпущен. Посмотрите этот статья Wikipedia для читаемой сводки.
Это можно считать синтаксисом, но VB.NET является случаем в чувствительный, в то время как C# является случаем чувствительный .
Самое большое отличие, на мой взгляд, заключается в возможности писать небезопасный код на C#.