Per cortesia, qualkuno potrebbe spiegarmi questa operazione che non mi e' chiara...

if(var1 >= 50 && var1 <= 100)
array[i] = k > 100? (byte)(k - 10) : (byte)k;

Supponiamo la mia var1 = 75 e k e' 101 ad array[i] viene assegnato 91 mentre se var1 = 75 e k = 90, a arra[i] viene assegnato 90?
E' cosi' che viene interpretata questa condizione?
Grazie