Здравствуйте, dimchick, Вы писали:
D>Внимательно читай собщения компилятора и не спеши постить на форум пока не разберешся.
В С#, в отличии от С++, const объекты являются class филдами. Тоесть они доступны без создания объекта. А ты в таком коде
class Test
{
const byte x = 0xF8;
const byte y = 0x3F;
static byte r = x ^ y;
static void Main()
{
Console.WriteLine("0x{0:x2}", r);
Console.ReadKey();
}
}
пытаешся class field инициализировать через instance field. О чем тебе и говорит csc.
Здравствуйте, dimchick, Вы писали:
D>Здравствуйте, dimchick, Вы писали:
D>>Внимательно читай собщения компилятора и не спеши постить на форум пока не разберешся.
D>В С#, в отличии от С++, const объекты являются class филдами. Тоесть они доступны без создания объекта. А ты в таком коде D>
D>class Test
D>{
D> const byte x = 0xF8;
D> const byte y = 0x3F;
D> static byte r = x ^ y;
D> static void Main()
D> {
D> Console.WriteLine("0x{0:x2}", r);
D> Console.ReadKey();
D> }
D>}
D>
D>пытаешся class field инициализировать через instance field. О чем тебе и говорит csc.
Здравствуйте, xvost, Вы писали:
X>Ну а с const'ом все еще проще — оператор считается в compile-time, компилятор видит что результат укладывается в byte, и соответственно его туда кладет без шума и пыли
Здравствуйте, dimchick, Вы писали:
X>>Ну а с const'ом все еще проще — оператор считается в compile-time, компилятор видит что результат укладывается в byte, и соответственно его туда кладет без шума и пыли
D>получается тогда есть еще неявные операторы
Здравствуйте, dimchick, Вы писали:
D>Здравствуйте, xvost, Вы писали:
X>>Ну а с const'ом все еще проще — оператор считается в compile-time, компилятор видит что результат укладывается в byte, и соответственно его туда кладет без шума и пыли
D>получается тогда есть еще неявные операторы D><skipped> D>которые вычисляются в компайл тайм.
13.1.7 Implicit constant expression conversions
An implicit constant expression conversion permits the following conversions:
• A constant-expression (§14.16) of type int can be converted to type sbyte, byte, short, ushort,
uint, or ulong, provided the value of the constant-expression is within the range of the destination
type.
Re[8]: Проблема с XOR
От:
Аноним
Дата:
24.11.06 07:35
Оценка:
Nimnul:
... в шарпе нет математических операторов типа cos, sin и т.д.
используй класс Math
Mastering .NET doesn`t make you a geek
It makes you a geek worthy of a raise
Nimnul:
... в шарпе нет математических операторов типа cos, sin и т.д.
используй класс Math
бгг я ожидал подобного ответа . Представте производительность двух языков программирования, в одном предусмотрен оператор cos и при компиляции он компилируется в соответствующии машинные инструкции, а в другом яву вместо этого происходит вызов функции из нативной длл, которая выполняет операцию cos и возвращает результат. Какой яву будет быстрее выполнять cos на твой взгляд?
это уже варианты реализации, они могут нравиться или не нравиться, но они есть. В первом посте ты написал что в шарпе нет математических операторов типа cos, sin, но это не так, они есть
Mastering .NET doesn`t make you a geek
It makes you a geek worthy of a raise
это уже варианты реализации, они могут нравиться или не нравиться, но они есть. В первом посте ты написал что в шарпе нет математических операторов типа cos, sin, но это не так, они есть
видимо ты не совсем осведомлен что такое оператор языка? преведу пример public, ref, out, fixed, +, -, ^ ...
Здравствуйте, Nimnul, Вы писали:
N>вопрос как раз в том что разработчики фв не определили операции деления для типов отличных от int, кстате сказать другие операции они тоже забыли определить.
Я думаю, слово "забыли" здесь неуместно. IL продуман очень хорошо. N> я уже не говорю, что в шарпе нет математических операторов типа cos, sin и т.д. А что, они должны быть?
Ну ладно, вот так спросим: в каком языке программирования общего назначения такие операторы есть?