Documentazione ufficiale: Delegates
Documentazione ufficiale: Task asynchronous programming model risposta corretta --> var contacts = new List
var type = typeof(SomeType);
var attribute = type.GetCustomAttribute<SomeAttribute>();
var typeof(MyPresentationModel).Should().BeDecoratedWith<SomeAttribute>();
Attribute.GetCustomAttribute, typeof(SubControllerActionToViewDataAttribute)
Attribute.GetCustomAttribute(typeof(ExampleController), typeof(SubControllerActionToViewDataAttribute))
Documentazione ufficiale: Reflection
private static object objA;
private static object objB;
private static void performTaskA()
{
lock (objB)
{
Thread.Sleep(1000);
lock (objA) { }
}
}
private static void PerformTaskB()
{
lock (objA)
{
lock (objB) { }
}
}
Documentazione ufficiale: Deadlocks and race conditions
Documentazione ufficiale: Anonymous Types
Documentazione ufficiale: Dictionary<TKey,TValue> Class
== confronta i contenuti.== confronta tutti i valori.== confronta l’identità di riferimento.== confronta i tipi di valore primitiviDocumentazione ufficiale: Deadlocks and race conditions
Documentazione ufficiale: async
Documentazione ufficiale: Objects
var<<!---->T> userData = new <<!---->T> { name = "John", age = 32 };var userData = new { name = "John", age = 32 };AType userData = new AType { name = "John", age = 32 };Anonymous<T> userData = new Anonymous<T> { name = "John", age = 32 };Documentazione ufficiale: Anonymous Types
public void userInput(string charParameters) { }
Documentazione ufficiale: void
string[] employees = { "Joe", "Bob", "Carol", "Alice", "Will" };
IEnumerable<string> employeeQuery = from person in employees
orderby person
select person;
foreach(string employee in employeeQuery)
{
Console.WriteLine(employee);
}
dotnetpattern: LINQ OrderBy Operator
Documentazione ufficiale: Language Integrated Query (LINQ) Overview
/_/ - Single Line
/_ - Multiline// Multiline
/_ Single Line _///\* Multiline
/ Single Line// Single Line
/* Multiline */Documentazione ufficiale: Using Properties
Documentazione ufficiale: Abstract and Sealed Classes and Class Members
Documentazione ufficiale: Thread pool characteristics
Documentazione ufficiale: Inheritance
Documentazione ufficiale: Operator overloading
Documentazione ufficiale: Language Integrated Query (LINQ) Overview
[Documentazione ufficiale: List
Documentazione ufficiale: Starting tasks concurrently
Documentazione ufficiale: Introduction to events
Documentazione ufficiale: Arrays
enum AppState { OffLine, Loading, Ready }
Documentazione ufficiale: Enumeration types
public interface INameable
{
string FirstName { get; set; }
string LastName { get; }
}
Documentazione ufficiale: interface
Documentazione ufficiale: Introduction to classes
Documentazione ufficiale: Generic classes and methods
public delegate void AuthCallback(bool validUser);
public static AuthCallback loginCallback = Login;
public static void Login()
{
Console.WriteLine("Valid user!");
}
public static void Main(string[] args)
{
loginCallback(true);
}
Documentazione ufficiale: Abstract and Sealed Classes and Class Members
public int age="28"
c-sharpcorner: Type Safety in .NET
public class User {}
DeserializableAttribute.public serializable class User {}.SerializableAttribute.private serializable class User {}.Documentazione ufficiale: SerializableAttribute Class
Documentazione ufficiale: Delegates
Documentazione ufficiale: Static Members
Documentazione ufficiale: Introduction to events
Documentazione ufficiale: try-catch
Documentazione ufficiale: Class inheritance
Documentazione ufficiale: namespace
private int _password;
pubic int Password = { get; set; }
private int _password;
public int Password = _password;
private int _password;
public int Password
{
get -> _password;
set-> _password = value;
}
private int _password;
public int Password
{
get { return _password; }
set { _password = value; }
}
Documentazione ufficiale: Using Properties
Documentazione ufficiale: ThreadPool Class
Documentazione ufficiale: Serialization
Documentazione ufficiale: Delegates
Documentazione ufficiale: Exceptions
Documentazione ufficiale: Enum
break e continue?break viene utilizzata per uscire da più istruzioni di iterazione, mentre continue può uscire solo da blocchi di codice che hanno iterazioni singole.break esce letteralmente da un’istruzione di controllo del flusso, mentre continue ignora il resto dell’istruzione di controllo o iterazione e inizia la successiva.break esce letteralmente dal codice di controllo del flusso corrente e lo ferma completamente, mentre continue continua a eseguire il codice dopo che viene lanciata un’eccezione.break salta fuori da un’iterazione e poi procede con il resto del codice di controllo del flusso, mentre continue ferma completamente il codice in esecuzione.Documentazione ufficiale: Istruzioni di salto
get pubblico e un set privato?public int userID <get, set>;public int userID [get, private set];public int userID { get; private set; }public int userID = { public get, private set };Documentazione ufficiale: Proprietà
L'override dei metodi virtuali in una classe derivata è obbligatorio.L'override dei metodi virtuali in una classe derivata non è possibile.I metodi virtuali hanno sempre bisogno di un'implementazione predefinita.I metodi virtuali non possono avere un'implementazione predefinita.sovraccarico della risorsasalto del threaddeadlock e condizioni di raceniente, dato che questo è lo scopo del threadingDocumentazione ufficiale: condizioni di race
Una stringa non può essere nullable.string? myVariablestring myVariable = nullstring(null) myVariableDocumentazione ufficiale: tipi valore nullable
No, puoi dichiarare un out nella lista dei parametri.No, le variabili Out non fanno più parte di C#.Devi dichiararla se è un tipo primitivo.Sì.People[..^2]Non puoi fare questo in C#.People[..^3]People[^2]Spiegazione: Puoi fare questo in C#. Tuttavia, nessuna delle risposte sopra è corretta. Puoi accedere agli ultimi due elementi usando People[^2..]. Vedi issue #3354 per maggiori informazioni.
Vedi anche: Documentazione Ufficiale: Range
a tempo di compilazionedopo il runtimea runtimedopo il tempo di compilazioneIl multitasking dei thread consente al codice di essere eseguito concorrentementeIl multitasking dei thread consente al codice di essere eseguito solo quando si gestisce un evento utente.Il multitasking dei thread blocca il codice dall'essere eseguito simultaneamente per proteggere la memoria.Il multitasking dei thread aggiunge insieme blocchi di codice single-threaded.Documentazione Ufficiale: Thread
private string LastName;
Documentazione Ufficiale: Livelli di Accessibilità
string[] partyInvites = new string[10];string[][] partyInvites = new string[10][];string[][] partyInvites = new string[10]();string <[]> partyInvites = new string <[10]>;Documentazione Ufficiale: Array Jagged
void MyFunction()
{
{
int a = 10;
int b = 20;
int c = a + b;
}
Console.WriteLine(c);
}
public class PremiumUser sub User {}public class PremiumUser: User {}public class PremiumUser -> sub User {}public class User: PremiumUser {}static InputManager.DebugString();InputManager().DebugString;new InputManager().DebugString();InputManager.DebugString();public string? nickname
un metodo speciale chiamato automaticamente ogni volta che un oggetto viene creato o aggiornatoun metodo implicito chiamato automaticamente quando i thread pool vengono processati concorrentementeun metodo esplicito chiamato automaticamente quando il compilatore inizia a funzionareun metodo speciale chiamato automaticamente ogni volta che un oggetto viene eliminato o distruttotypealias CustomInt = System.Int32;var<T> CustomInt = Int32;using CustomInt = System.Int32;type CustomInt = System<Int32>;un oggetto di tipo pass by referenceun tipo valore che non può contenere costantiinsieme di costanti integrali nominateun oggetto di tipo pass-by-valueper dichiarare una variabile membro che non può essere calcolata a runtimeper dichiarare un campo il cui valore può essere assegnato solo prima che il costruttore escaper dichiarare una variabile statica che deve essere impostata a tempo di compilazioneper dichiarare una variabile statica che deve essere impostata a runtimeI metodi memorizzano variabili.I metodi sono azioni che un oggetto può compiereUn metodo può essere utilizzato solo una volta per file C#.Un metodo determina lo stato di una data proprietà.Documentazione ufficiale: Metodi (Guida alla programmazione C#)
ArgumentNullValueInvalidFormatFoundExceptionIndexOutOfPocketArgumentNullExceptionDocumentazione ufficiale: Classe ArgumentNullException
Documentazione Ufficiale: Interfacce (Guida alla programmazione C#)
finally in un’istruzione try-catch-finally di C#?finally viene utilizzato per gestire le eccezioni.finally viene utilizzato per definire la logica principale dell’istruzione try-catch.finally è opzionale e non richiesto nelle istruzioni try-catch.finally viene utilizzato per garantire che un determinato codice venga eseguito indipendentemente dal fatto che si verifichi un’eccezione.Documentazione Ufficiale: try-catch (Riferimento C#)
Documentazione Ufficiale: Classe Dictionary<TKey, TValue>