Fondamenti di C#

Operatori e la classe Math in C#

In questa lezione userai operatori aritmetici, di assegnazione, di confronto e logici e le funzioni matematiche della classe Math in C#.

Introduzione

Gli operatori combinano i valori in espressioni. C# segue le solite regole della matematica, ma c'è un punto che spesso sorprende chi inizia: quando dividi due interi, la parte decimale viene scartata.

La divisione 17 / 5 dà 3 perché entrambi gli operandi sono int, mentre 17 / 5.0 dà 3.4 perché uno degli operandi è un numero in virgola mobile. Gli operatori di assegnazione composta, come += e *=, aggiornano il valore della variabile sul posto. I confronti e gli operatori logici && e || restituiscono sempre un bool, e la classe Math offre funzioni come Pow, Round e Sqrt.

Esempio C# eseguibile

C#
Esegui il codice →
Program.cs
using System;

class Program
{
    static void Main()
    {
        int a = 17, b = 5;

        Console.WriteLine($"a + b = {a + b}");
        Console.WriteLine($"a - b = {a - b}");
        Console.WriteLine($"a * b = {a * b}");
        Console.WriteLine($"a / b = {a / b}");        // int / int drops the fraction
        Console.WriteLine($"a % b = {a % b}");        // remainder
        Console.WriteLine($"a / 5.0 = {a / 5.0}");    // a double operand keeps it

        int total = 10;
        total += 5;
        total *= 2;
        Console.WriteLine($"total = {total}");

        int count = 0;
        count++;
        Console.WriteLine($"count = {count}");

        // Comparison and logical operators produce bool values.
        Console.WriteLine($"a > b: {a > b}, a == 17: {a == 17}");
        Console.WriteLine($"a > 10 && b > 10: {a > 10 && b > 10}");
        Console.WriteLine($"a > 10 || b > 10: {a > 10 || b > 10}");

        // Math holds common functions.
        Console.WriteLine($"Math.Pow(2, 10) = {Math.Pow(2, 10)}");
        Console.WriteLine($"Math.Round(3.14159, 2) = {Math.Round(3.14159, 2)}");
    }
}
Risultato dell'esecuzione
a + b = 22
a - b = 12
a * b = 85
a / b = 3
a % b = 2
a / 5.0 = 3.4
total = 30
count = 1
a > b: True, a == 17: True
a > 10 && b > 10: False
a > 10 || b > 10: True
Math.Pow(2, 10) = 1024
Math.Round(3.14159, 2) = 3.14

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide