Nel mio percorso di studio della programmazione ci sono stati problemi semplici, ma interessanti da risolvere come esercizi. Uno di questi problemi era ruotare un array (o unaltra raccolta) di un certo valore. Qui condividerò con te una semplice formula per farlo. # Esempio di metodo generico che ru
LEGGERE# Corrispondenza singola using System.Text.RegularExpressions; string pattern = ":(.*?):"; string lookup = "--:text in here:--"; // Instanciate your regex object and pass a pattern to it Regex rgxLookup = new Regex(pattern, RegexOptions.Singleline, TimeSpan.FromSeconds(1)); /
LEGGEREIl nameof operatore consente di ottenere il nome di una variabile , digita o membro in forma di stringa senza codificarlo come letterale. Loperazione viene valutata in fase di compilazione, il che significa che puoi rinominare un identificatore di riferimento, utilizzando la funzione di ridenominaz
LEGGERE# Operatore condizionale nullo Il ?. loperatore è zucchero sintattico per evitare controlli null dettagliati. È anche noto come operatore di navigazione sicura. Classe utilizzata nellesempio seguente: public class Person { public int Age { get; set; } public string Name { get; set; } p
LEGGERE# Utilizzo di base Usando il null-coalescing operator (??) consente di specificare un valore predefinito per un tipo nullable se loperando di sinistra è null . string testString = null; Console.WriteLine("The specified string is - " + (testString ?? "not provided")); Demo dal
LEGGERE# Scrivere una buona sostituzione di GetHashCode GetHashCode ha importanti effetti sulle prestazioni su Dictionary<> e HashTable. Buon GetHashCode Metodi dovrebbe avere una distribuzione uniforme- ogni numero intero dovrebbe avere una probabilità più o meno uguale di restituire per unistanza casua
LEGGERE# Tipi di uguaglianza in c# e operatore di uguaglianza In C# esistono due diversi tipi di uguaglianza:uguaglianza di riferimento e uguaglianza di valore. Luguaglianza di valore è il significato comunemente inteso di uguaglianza:significa che due oggetti contengono gli stessi valori. Ad esempio, due
LEGGERE# Dichiarazione If-Else La programmazione in generale richiede spesso un decision o un branch allinterno del codice per tenere conto del modo in cui il codice opera in diversi input o condizioni. Allinterno del linguaggio di programmazione C# (e della maggior parte dei linguaggi di programmazione i
LEGGEREIn C#, un operatore è un elemento del programma applicato a uno o più operandi in unespressione o unistruzione. Gli operatori che accettano un operando, come loperatore di incremento (++) o new, sono detti operatori unari. Gli operatori che accettano due operandi, come gli operatori aritmetici (+,-,
LEGGERE# uint letterali uint i letterali sono definiti utilizzando il suffisso U o u o utilizzando valori integrali compresi nellintervallo uint : uint ui = 5U; # letterali int int i letterali sono definiti semplicemente utilizzando valori integrali nellintervallo di int : int i = 5; # letterali sbyt
LEGGERE# Creazione di una nuova applicazione console (Visual Studio) Apri Visual Studio Nella barra degli strumenti, vai su File → Nuovo progetto Seleziona lApplicazione Console tipo di progetto Apri il file Program.cs in Esplora soluzioni Aggiungi il seguente codice a Main() : public class Program {
LEGGEREQuando usi la riflessione per esaminare le proprietà di un tipo, puoi usare PropertyInfo.PropertyType.IsEnum per verificare se la proprietà è un enum. Questo è utile quando vuoi essere in grado di chiamare in sicurezza un metodo API Enum (come Enum.Parse()) sul tipo riflesso, impedendo così uneccezi
LEGGEREPer impostazione predefinita, quando carichi i valori enum in un ComboBox, mostrerà i nomi enum. Se invece vuoi mostrare le descrizioni enum (dallattributo [Description]) ed essere comunque in grado di ottenere il valore enum selezionato, puoi procedere come segue: Genera un elenco di oggetti conte
LEGGEREI moduli hanno anche una raccolta di controlli (Controlli proprietà) che è possibile scorrere. Questo è utile quando vuoi fare qualcosa su più controlli e non vuoi dover digitare manualmente il codice per gestire i singoli controlli. Ecco un esempio di come scorrere i controlli di primo livello di
LEGGEREQuando si scorre un dizionario, sia con un metodo foreach che con un metodo Linq, si avrà a che fare con oggetti KeyValuePair, che hanno proprietà Key e Value (stessi tipi del dizionario). Ecco un esempio di come scorrere un dizionario con un foreach: var wordCountMap = new Dictionary<string, i
LEGGEREEcco un esempio di come ottenere la data/ora corrente: var now = DateTime.Now; Console.WriteLine($"Current local time: {now}"); Code language: C# (cs) Questo restituisce la data/ora locale corrente: Current local time: 6/21/2022 3:45:42 PMCode language: plaintext (plaintext) Nota:per impos
LEGGEREIl modo più semplice per ottenere la chiave con il valore massimo in un dizionario consiste nellusare il metodo Linq MaxBy() (aggiunto in .NET 6). Questo restituisce la coppia chiave/valore con il valore massimo. Ecco un esempio: using System.Linq; var animalCountMap = new Dictionary<string, int
LEGGEREI fusi orari sono complicati e le loro regole possono cambiare, quindi ha senso usare una libreria quando hai a che fare con loro. Unopzione in .NET consiste nellusare la classe TimeZoneInfo incorporata. Ecco un esempio di utilizzo di TimeZoneInfo per ottenere il fuso orario del sistema locale: var
LEGGERELoffset UTC di un fuso orario può cambiare in base al periodo dellanno a causa dellora legale. Un problema con la classe TimeZoneInfo è che TimeZoneInfo.DisplayName mostra sempre loffset UTC di base, anche se la data corrente è nellora legale. Questo potrebbe confondere gli utenti (ed è la stessa co
LEGGEREIn .NET 5 e versioni successive, puoi modificare direttamente i valori di un dizionario in un ciclo foreach. Ecco un esempio: var wordCountMap = new Dictionary<string, int>() { ["apple"] = 1, ["cat"] = 5, ["dog"] = 10 }; foreach (var word in wordCountMap) { wordCou
LEGGERE