Как делает Моно работу

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

46
задан Celeo 9 September 2015 в 15:42
поделиться

6 ответов

Windows EXE содержит несколько "частей". Упрощенный , Кодом .net (=MSIL) является только Часть EXE, и существует также "реальный" собственный Windows Part в EXE, который служит своего рода средством запуска для .net Платформы, которая тогда выполняет MSIL.

Моно просто возьмет MSIL и выполнит его, игнорируя собственный материал Windows Launcher.

Снова, это - упрощенный обзор.

Редактирование: я боюсь, что мое понимание глубоких глубоких деталей не достаточно хорошо для действительно большого количества детали (я знаю примерно, каков Заголовок PE, но не действительно детали), но я нашел эти ссылки полезными:

СЕТЕВАЯ Структура блока †“Вторая часть

Основы.NET - структура блока.NET

22
ответ дан Nightfirecat 26 November 2019 в 20:03
поделиться

Можно на самом деле выполнить.NET .exe файл с Моно на Linux. Это не требует Вина. На самом деле, Моно программы компиляций в .exe файлы, которые могут работать или с Моно на Linux или как исполняемый файл в Windows.

11
ответ дан Greg Hewgill 26 November 2019 в 20:03
поделиться

Моно реализация с открытым исходным кодом CLR.NET Microsofts (Общеязыковая среда выполнения). Это - то, какая часть выполнений программ.NET, которые не находятся в собственном коде, а в CIL (Общий Промежуточный язык), язык и нейтральный в отношении машины промежуточный язык. Время выполнения берет тот промежуточный код и переводит его в машинный код.

В текущем состоянии Моно, можно взять программы.NET, которые используют основные части.NET (mscorlib.dll) и выполняют их везде Моно выполнения, не просто Windows.

3
ответ дан Quantenmechaniker 26 November 2019 в 20:03
поделиться

Но поскольку упоминается, что Моно открытый исходный код, и Вы не можете только положиться, что это будет полная реализация.NET, это имеет некоторые средства управления, которые не работают, необходимо быть также осторожными с P/Invokes, который приложение будет использовать, для, например, приложение свяжется с MCI (Мультимедийный Интерфейс контроллера) под win32. Но я использовал моно запись Приложения GTK# также, но я также использовал свои Приложения Windows, которые работали без любой перекомпиляции, как упомянуто выше, наши коллеги - программисты, то есть, моно являются альтернативой с открытым исходным кодом для.NET Microsoft, и по умолчанию если Вы создадите или WinForms или моно приложения Gtk#, то скомпилирует и создаст .exe блок для каждого файла, и конечно если Вы захотите его, то создаст Динамически подключаемую библиотеку (DLL), почти поскольку это сделано в.NET. Только для попытки предложения писать некоторый Gtk# (с MonoDevelop IDE, который имеет его встроенного gui разработчика, названного stetic). И конечно моно может быть большая замена для веб-сервисов, что можно создать их на.NET, и можно разместить их на Apache (потому что Linux, размещающий в наше время, является более дешевым, чем Windows), веб-сервисы и другие приложения asp.net будут работать под апачем с mod_mono модулем, который должен быть включен в апача.

Немного из темы, но я просто хотел сказать Вам краткий обзор на основе своего опыта.

2
ответ дан milot 26 November 2019 в 20:03
поделиться

Также можно смотреть к MoMA (если цель состоит в том, чтобы портировать приложения от Победы до Lin).

инструмент Mono Migration Analyzer (MoMA) помогает Вам определить проблемы, которые Вы можете иметь при портировании.Net приложения на Моно. Это помогает точно определить платформу определенные вызовы (P/Invoke) и области, которые еще не поддерживаются Моно проектом.

MoMA

Здесь является веб-приложением, которое сравнивает типы BCL, уже реализованного Моно и Платформой.NET 3.5

http://mono.ximian.com/class-status/2.0-vs-3.5/index.html

1
ответ дан jaircazarin-old-account 26 November 2019 в 20:03
поделиться

К ответу дальнейшего Michael я полагаю, что необходимо будет перекомпилировать на Моно для приложения для работы Моно времени выполнения. Исключения могут существовать. Я только играл вокруг с Моно просто немного, и я всегда перекомпилировал источник. Я никогда не пытался запустить приложение.NET непосредственно на Моно.

кроме того, Моно 1.9, как предполагается, являются полностью.NET 2,0 совместимых. Моно Маслина и Лунный свет, как предполагается, добавляют.NET 3.0 (меньше WPF) и функциональность Silverlight.

0
ответ дан 26 November 2019 в 20:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: