• Mutimedia Web la Web Agency Italiana. Contattateci per preventivi gratuiti e consulenze nello sviluppo del vostro sito web o app Ios e Android. Professinalità e assistenza garatite!
    Immagini dei quadri e opere di: Giuseppe Lattanzio

  • Social

    [easy-social-share buttons="facebook,twitter,pinterest,linkedin,digg,stumbleupon,vk,tumblr,print,mail,del,reddit,whatsapp" counters=0 hide_names="force" template="grey-blocks-retina"]
  • WEB AGENCY

  • Sede Principale

    Multimedia Web

    Blog Studio Web

    Studio Web

    Sede a Venezia

    Web Agency Venezia

    Sede a New York

    Nyc Web Design

    Sede International

    Web Designer International

    Sito Demo One Page

    Spaghetti Web

    Landing page

    Savinus

  • smartphone

    Trovaci sul tuo smartphone

  • web-designer-ancona
  • AGENZIA WEB ITALIA

Home / News / C# 13 estende le funzionalità di params

C# 13 estende le funzionalità di params


La recente conferenza Build 2024 di Microsoft è stata anche l’occasione per presentare le nuove funzionalità di C# 13. Versione del linguaggio che si segnala in particolare per i miglioramenti apportati a params. Keyword per i tipi di parametri che fino a poco tempo fa era limitata agli array e che ora trova nuovi casi d’uso.

Quando viene utilizzata prima di un parametro, essa permette ad un metodo di accettare una lista (anche vuota) di valori separati da una virgola. Questi ultimi vengono quindi collocati in una raccolta associata ad un tipo specifico.

Analizziamo i cambiamenti portati da C# 13.

Cosa è params

Nativamente params viene utilizzata per specificare un parametro di metodo che accetta un numero variabile di argomenti. In questo modo è possibile passare una lista separata da virgole di argomenti di un tipo specificato a un metodo, senza dover creare esplicitamente un array. In questo modo un metodo può accettare un numero variabile di argomenti, con un beneficio per la flessibilità.

Le chiamate ai metodi diventano inoltre più semplici, soprattutto quando si deve operare con un gran numero di parametri. Esistono però dei vincoli: si può introdurre un solo parametro params per metodo e la parola chiave può essere impiegata solo per l’ultimo parametro nella lista dei parametri di un metodo.

Novità per params in C# 13

Come in parte già anticipato, in C# 13 params può essere qualsiasi tipo di raccolta compatibile con le espressioni per le raccolte, come per esempio List<T>, Span<T> e IEnumerable<T>. Possono inoltre essere utilizzati anche tipi di raccolta personalizzati attenendosi a delle apposite linee guida. Vediamo di seguito un semplice esempio:

void PrintList(params IEnumerable<string> list)
    => Console.WriteLine(string.Join(", ", list));
PrintList("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");

Lanciando un comando di stampa si ottiene il risultato seguente:

"Sun, Mon, Tue, Wed, Thu, Fri, Sat"

È utile segnalare inoltre che i valori passati a params vengono convertiti implicitamente al tipo span. In questo modo viene selezionato il metodo più efficiente, in particolare quando i metodi differiscono per l’uso di span o array.



Source link