Visualizzazione post con etichetta .Net 7. Mostra tutti i post
Visualizzazione post con etichetta .Net 7. Mostra tutti i post

lunedì 29 luglio 2024

C# confrontare due numeri e rilevare il minore

Tramite il metodo "Min" possiamo ottenere il valore minimo di due numeri.
Di seguito un frammento di codice in C# sul suo utilizzo.

C#
 int risultatoValoreMinimo = int.Min(5, 7); //Restituisce 5

giovedì 25 luglio 2024

C# invertire il segno di un numero in altro numero tramite .Net

Dalla versione 7 della tecnologia .Net abbiamo la possibilità tramite il metodo "CopySign" di invertire il segno di un numero in altro numero.
Di seguito il frammento di esempio nel linguaggio di programmazione C# .


C#
int risultatoCopySign = int.CopySign(5, -2 ); //Diventa -5

lunedì 22 luglio 2024

C# ottenere il quoziente ed il resto da un numero

Nel caso che si ha la necessità di conoscere il quoziente ed il resto di un numero tramite il linguaggio di programmazione C#  tramite il metodo "DivRem", possiamo ottenere questi valori.

Di seguito un esempio di codice del relativo utilizzo.

C#
 var risultatoDivRem = int.DivRem(13, 5);
 int risultatoQuo = risultatoDivRem.Quotient;
 int risultatoResto = risultatoDivRem.Remainder; //Restituisce 2 con resto di 3.

domenica 21 luglio 2024

C# determinare il segno di un numero

Il frammento di codice qui di seguito, illustra una tecnica per rilevare che tipo di segno ha un determinato numero.
In particolare, possiamo rilevare se è positivo (1) se non ha segno (0) e se è negativo (-1), il tutto tramite il metodo "Sign".
Di seguito un esempio di codice dell'utilizzo del metodo "Sign".

int[] numeri = { 5, 0, -15 };

numeri.ToList().ForEach(p=> Debug.WriteLine(int.Sign(p))); //Restituisce 1,0,-1

martedì 16 luglio 2024

C# rilevare il numero dei zero finali di un numero tramite il metodo TrailingZeroCount

Nel caso che abbiamo la necessità di rilevare il numero degli zeri nella parte finale di un numero, tramite il metodo TrailingZeroCount del linguaggio C#, possiamo rilevare tale dato.
Di seguito si riporta un frammento di codice di esempio.

C#
int risultatoZero = int.TrailingZeroCount(1000);

lunedì 15 luglio 2024

C# determinare il log2 di un numero

Nel caso che si ha la necessità di calcolare il log2 di un numero, tramite il metodo "log2" presente dalla versione .Net 7 in poi, si ottiene tale valore.

Di seguito il frammento di codice per ottenere il log2 di un numero nel linguaggio di programmazione C#.

C#
 var risultatoLog2 = int.Log2(15);

sabato 13 luglio 2024

C# verificare il numero più grande tra due

Altra novità del Framework .Net  7 e versioni successive è quella del metodo Max, che restituisce il numero più grande tra due elementi.
Di seguito il frammento di codice di tale utilizzo.

C#
 int risultato = int.Max(10, 20); //20

venerdì 12 luglio 2024

C# verificare se un numero è pari IsEvenInteger

Dalla versione 7 di .Net è possibile verificare se un numero intero è pari, il tutto tramite la proprietà "IsEvenInteger".
Di seguito un frammento di codice per verificare se un array di interi sono presenti numeri pari.

C#
 int[] arrayNumeriPari = [1, 2, 3, 4, 5, 13, 18, 27, 40, 53 ];
 IEnumerable<int> arrayPari = arrayNumeriPari.Where(int.IsEvenInteger);
 Debug.Write(string.Join(",", arrayPari)); //2,4,18,40 

giovedì 11 luglio 2024

C# determinare se un numero è una potenza di due IsPow2

Altra novità in ambito numeri introdotta dal Framework .Net 7, è la possibilità di verificare se un numero è una potenza di 2, ossia se quel numero può essere diviso per 2 fino ad arrivare appunto a due.

Di seguito un frammento di codice, che tramite la proprietà IsPow2, possiamo verificare il numero divisibile per 2.

  int[] arrayNumeri2 = [  2, 3, 4, 5, 8, 10, 40, 64];
  IEnumerable<int> arrayElevato = arrayNumeri2.Where(int.IsPow2);
  Debug.Write(string.Join(",", arrayElevato)); //2,4,8,64

mercoledì 10 luglio 2024

C# determinare il numero dispari tramite IsOddInteger .Net

Dalla versione .Net 7 in poi è possibile stabilire se un numero è dispari oppure no, questo tramite la proprietà IsOddInteger.
Di seguito un esempio di codice.

C#

 int[] arrayNumeri = [1, 2, 3, 4, 5, 13, 27, 40];
 IEnumerable<int> arraySoloDispari = arrayNumeri.Where(int.IsOddInteger); // Restituisce 1, 3, 5, 13 e 27

mercoledì 26 luglio 2023

C# valore di default in linq

Con l'ultima versione di C# e Framework .Net, è possibile eseguire un valore di default in operazioni di lambda di Linq.
Di seguito un esempio di somma, con un parametro che ha un valore di default.

 var EsempioValoreDefault = (int primoValore, int SecondoValore = 2) => primoValore + SecondoValore;
 var risultatoSomma = EsempioValoreDefault(4, 4); //restituisce 8
 var risultatoSommaSoloUnParametro = EsempioValoreDefault(3); //restituisce 5

giovedì 8 dicembre 2022

.Net 7 utilizzo delle doppie virgolette nel testo

Diverse sono le novità presenti in .Net 7 e nel linguaggio di programmazione C# versione 11, che dalla versione 17.4 di Visual Studio 2022 possiamo utilizzare.
Tra queste anche nella sintassi nel testo, come per esempio la possibilità di includere le doppie virgolette nel testo.
A differenze delle versioni precedenti, dove per mettere le doppie virgolette occorreva usare il simbolo della chiocciola o della barra rovesciata, in questa nuova versione, si può raddoppiare il doppio apice.

Di seguito un esempio in .Net 7 e C# 11

 string TestoNuovoNet = """Il testo da inserire tra virgolette è tramite il raddoppio virgolette "testo" """;
Console.WriteLine(TestoNuovoNet);

Mentre qui di seguito nelle precedenti versioni.

string testo = "Il testo da inserire tra virgolette è tramite il simbolo barra rovesciata  \"testo\" ";
Console.WriteLine(testo);

string testoAltro = @"Il testo da inserire tra virgolette è tramite il simbolo chiocciola precedente ""testo"" ";
Console.WriteLine(testoAltro);

mercoledì 7 dicembre 2022

C# 11 .Net 7 List patterns confronto delle list con is

Altra novità di .Net 7 e del linguaggio di programmazione C# versione 11, è quella delle list patterns ossia confrontare le varie liste.
Tramite la parola chiave IS possiamo verificare se un confronto di una lista è vera oppure no.
Di seguito il frammento di codice.
Il primo esempio di lista di tipo string, verifica se i dati presenti nella lista sono uguali a quelli di confronto, vero nel primo caso, false nel secondo.
Nel secondo esempio di lista di tipo int, si verificare se la lista è uguale alla condizione di confronto, nei primi due esempi, se è maggiore il valore della lista nei confronti della condizione, in questo caso avremo due confronti, uno vero e l'altro false, e poi l'ultimo esempio verificare se lista è minore di quella di confronto. 

List<string> nomi = new List<string>() {"Emanuele", "Luca" };

            Boolean risultato = nomi is ["Emanuele", "Luca"]; //true

            risultato = nomi is ["Ema", "Luca"]; //false

//Secondo esempio

            List<int> numeri = new List<int>() { 3, 5 };

            risultato = numeri is [3, 5]; //true

            risultato = numeri is [5, 6]; //false

            risultato = numeri is [> 1, >2]; //true

            risultato = numeri is [> 4, > 1]; //false

            risultato = numeri is [< 5, < 8]; //true


martedì 6 dicembre 2022

.Net 7 required property Class in C# 11

 Con l'aggiornamento a 17.4 di Visual Studio 2022, viene rilasciata anche la nuova versione del linguaggio di programmazione C# e .Net 7.

Tra le varie novità di questo linguaggio e framework, troviamo la parola chiave required, che possiamo utilizzare nelle classi per rendere le proprietà obbligatorie, quando si inizializza una classe.

Di seguito un esempio.

Supponiamo di creare una classe anagrafica con due proprietà, nome e cognome, obbligatorie, di seguito il frammento di codice delle suddette operazioni.

public class Anagrafica
    {
        public required string Nome { get; set; }
        public required string Cognome { get; set; }
    }

A questo punto quando si inizializza la classe, occorre impostare un valore alle proprietà, altrimenti visualizza il codice come errore, di seguito l'immagine .

Quindi per il funzionamento della parola chiave "Required" occorre impostare le proprietà, di seguito il frammento di codice.

 Anagrafica DatiAna = new Anagrafica(){ Cognome="Mattei",  Nome="Emanuele" };

L'ambiente di sviluppo Visual Studio 2022 17.4 ci fornisce indicazioni sull'obbligo delle proprietà durante la digitazione, come mostrato qui di seguito.



Da considerare che questa parola chiave, l'obbligo della proprietà, non si applica per i membri di tipo private, static e di sola lettura (solo get).

domenica 6 novembre 2022

.Net 7 required property Class in C# 11

Con l'aggiornamento a 17.4 di Visual Studio 2022, viene rilasciata anche la nuova versione del linguaggio di programmazione C# e .Net 7.
Tra le varie novità di questo linguaggio e framework, troviamo la parola chiave required, che possiamo utilizzare nelle classi per rendere le proprietà obbligatorie, quando si inizializza una classe.

Di seguito un esempio.

Supponiamo di creare una classe anagrafica con due proprietà, nome e cognome, obbligatorie, di seguito il frammento di codice delle suddette operazioni.

public class Anagrafica
    {
        public required string Nome { get; set; }
        public required string Cognome { get; set; }
    }

A questo punto quando si inizializza la classe, occorre impostare un valore alle proprietà, altrimenti visualizza il codice come errore, di seguito l'immagine .

Quindi per il funzionamento della parola chiave "Required" occorre impostare le proprietà, di seguito il frammento di codice.

 Anagrafica DatiAna = new Anagrafica(){ Cognome="Mattei",  Nome="Emanuele" };

L'ambiente di sviluppo Visual Studio 2022 17.4 ci fornisce indicazioni sull'obbligo delle proprietà durante la digitazione, come mostrato qui di seguito.



Da considerare che questa parola chiave, l'obbligo della proprietà, non si applica per i membri di tipo private, static e di sola lettura (solo get).