Estaba mirando this article y estoy luchando para seguir el ejemplo de VB.NET que explica los operadores levantados. No parece haber un ejemplo o tutorial equivalente de C#. No tengo mucha experiencia con la sobrecarga del operador en general, por lo que intentar llegar a un acuerdo con el equivalente de VB.NET mientras leía sobre tipos anulables probablemente no sea el mejor lugar para comenzar ...¿Qué son los operadores levantados?
¿Alguien estaría ¿Puede proporcionar una explicación de los operadores levantados y cómo los usan los tipos anulables? ¿Simplemente significa que el tipo anulable no sobrecarga a los operadores y usará los operadores del tipo subyacente que representa?
No parece haber mucha información sobre SO sobre operadores levantados, así que con suerte esto también puede ayudar a otros.
Gracias
Ah .. Pensé que (nulo >> 1) no era válido y me preguntaba ¿por qué es el caso? parece operar en x en la segunda instrucción de (int? x = null; (x >> 1) ?? -1;). Pensaba que ?? "lo transforma" a una forma válida ((x == nulo)? -1: (x >> 1);). Resulta que estaba operando en (x >> 1) en su lugar, y que (null >> 1) es válido. – blizpasta