En VBA puedo hacer lo siguiente: A = B + IIF(C>0, C, 0) de modo que si C> 0 obtengo A=B+C y C <= 0 obtengo A=B ¿Hay un operador o función que me permita hacer estos condicionales en línea en el código de MATLAB?
Solo por curiosidad / conveniencia: C # proporciona dos excelentes funciones de expresión condicional que conozco: string trimmed = (input == null) ? null : input.Trim(); y string trimmed = (input ?? “”).Trim(); Extraño otra expresión similar para una situación que enfrento muy a menudo: Si la referencia de entrada es nula, entonces la salida […]
Sé que la forma estándar de usar el operador de fusión nulo en C # es establecer los valores predeterminados. string nobody = null; string somebody = “Bob Saget”; string anybody = “”; anybody = nobody ?? “Mr. T”; // returns Mr. T anybody = somebody ?? “Mr. T”; // returns “Bob Saget” Pero, ¿qué […]
Estoy tratando de usar el operador condicional, pero me estoy colgando del tipo que cree que debería ser el resultado. A continuación se muestra un ejemplo de que he logrado mostrar el problema que estoy teniendo: class Program { public static void OutputDateTime(DateTime? datetime) { Console.WriteLine(datetime); } public static bool IsDateTimeHappy(DateTime datetime) { if (DateTime.Compare(datetime, […]
Tengo curiosidad de por qué un elenco implícito falla en … int? someValue = SomeCondition ? ResultOfSomeCalc() : null; y por qué tengo que realizar un lanzamiento explícito en su lugar int? someValue = SomeCondition ? ResultofSomeCalc() : (int?)null; Me parece que el comstackdor tiene toda la información que necesita para tomar una decisión implícita […]
El siguiente código no se comstackrá: string foo = “bar”; Object o = foo == null ? DBNull.Value : foo; Obtengo: Error 1 El tipo de expresión condicional no se puede determinar porque no hay una conversión implícita entre ‘System.DBNull’ y ‘string’ Para solucionar esto, debo hacer algo como esto: string foo = “bar”; Object […]
Estoy un poco desconcertado sobre el operador condicional. Considere las siguientes dos líneas: Float f1 = false? 1.0f: null; Float f2 = false? 1.0f: false? 1.0f: null; ¿Por qué f1 se vuelve nulo y la segunda statement arroja una NullPointerException? Langspec-3.0 para 15.25 sais: De lo contrario, el segundo y tercer operandos son de tipos […]
Generalmente, cuando se usa el operador condicional, aquí está la syntax: int x = 6; int y = x == 6 ? 5 : 9; Nada elegante, bastante directo. Ahora, intentemos usar esto cuando asignamos un Lambda a un tipo de Func. Dejame explicar: Func predicate = id == null ? p => p.EmployeeID == […]
¿Hay alguna manera de hacer algo como esto? int a = (b == 5) ? c : d; usando Bash?
En C ++, ¿el operador?: Es más rápido que if () … else? ¿Hay alguna diferencia entre ellos en el código comstackdo?