2016-03-08 3 views
0

Что значит "(! 0)" в ILNumerics так же, как этоКакое значение «(! 0)» в библиотеке ILNumerics?

return (!0)ILMathInternal.exp(this.m_mu); 

и как это,

return 0.5 + (!0)ILMathInternal.log(this.m_sigma) + this.m_mu + (!0)ILMathInternal.log(ILMathInternal.sqrt(2.0 * ILMathInternal.pi)); 

Почему мы используем этот вид выражения --- "(! 0) "?

+4

Где вы нашли его? Google не нашел его. – xanatos

+1

Я не думаю, что это связано с C#. '! 0' не генерирует тип для явного литья. –

+0

Нам понадобится больше контекста, чтобы помочь вам. –

ответ

5

(!0) не имеет смысла, она не действует C#


Если бы я должен был догадаться, что я делаю, я подозреваю (!0) как декомпилятор выбрал представить некоторый IL код, который не имеет C# представление.

+0

Но если источником ILNumerics является C#, он каким-то образом должен быть действительным C#, правильно? Может быть, оператор '!' Перегружен? –

+1

@Abbondanza, я подозреваю, что это более вероятно, проблема с декомпиляцией. '(! 0)' является представлением некоторой операции IL, которая не имеет представления C#. – Jodrell

+2

@Abbondanza Кажется, что это [Общий атрибут] (http://stackoverflow.com/questions/31559861/why-is-0-a-type-in-microsoft-intermediate-language-msil) – PTwr