2015-04-17 1 views
2

я могу сравнить долго с INT использованием динамического. Но я не могу сравнить ulong с int с использованием динамический.C# динамические сравнить исключение

C# динамическая ошибка?

Нет исключений Образец

long a = 10000; 
int b = 10; 

dynamic c = a; 
dynamic d = b; 

if (c <= d) 
    MessageBox.Show("c"); 
else 
    MessageBox.Show("d"); 

Исключение Образец

ulong a = 10000; 
int b = 10; 

dynamic c = a; 
dynamic d = b; 

if (c <= d) <-Exception 
    MessageBox.Show("c"); 
else 
    MessageBox.Show("d"); 
+1

Если ответ достаточно обратился к вашему вопросу, вы можете принять его как ответ. Вы можете прочитать о том, как это сделать [здесь] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) или [здесь] (http://stackoverflow.com/help/someone-answers) – Alex

ответ

2

Вы также не можете сравнивать ulong с int без динамики либо. Это верно, потому что ulong не имеет неявного преобразования в другие интегральные типы.

Если вы пробовали, вы получите эту ошибку во время компиляции:

Operator '<=' cannot be applied to operands of type 'ulong' and 'int' 
+0

Очень спасибо за ответ. :) – Rainsong

Смежные вопросы