2015-08-08 10 views
5

Ho fatto ricerche approfondite su questo argomento, ma non riesco a trovare nulla al riguardo.Cosa farebbe + - come operatore in C#

Se io era quello di utilizzare un'istruzione if come una convalida e aveva bisogno di scrivere qualcosa in queste righe:

if(split[lengthsplit + 1] == "=" && split[lengthsplit - 1] == "=") 

Potrei scrivere quanto sopra come la seguente con lo stesso risultato:

if(split[lengthsplit +- 1] == "=") 

Non riesco a vedere il risultato di questo e mi chiedo se in questo caso aggiungerebbe un 1 e lo porterebbe via o se proverebbe entrambi gli scenari dando prima la possibilità di comprimere la convalida eliminando gli operatori booleani in una certa misura.

Se questo è il caso anche se forse potrei usare uno split [lengthsplit + -] invece?

+3

'x + - 1' ==' x + -1' == 'x-1' –

+0

Grazie, questo era il motivo per cui non ero sicuro. –

risposta

4

Potrei scrivere quanto sopra come la seguente con lo stesso risultato

No impossibile perché questo lengthsplit +- 1 si traduce in lengthsplit + (-1) perché il - qui è considerato un operatore unario (e unary operators have higher precedence del binario +).

1

lengthsplit +- 1 è lengthsplit + (-1) non c'è - o "+ -" "+" operatore in "C#"

+0

Grande, questo è il modo in cui ho pensato che sarebbe andato. –

0

Non c'è l'operatore +-. L'esempio che hai fornito è un perfetto esempio di come non usare gli spazi bianchi. Se mai il + si annulla.