Articles of c # 3.0

Cosa usare: var o nome del tipo di object?

questa è una domanda che quando mi sto programmando mi chiedo sempre: cosa usare quando stiamo scrivendo il codice: var myFiles = Directory.GetFiles(fullPath); o string[] myFiles = Directory.GetFiles(fullPath); var è nuovo ed è una variabile locale implicitamente tipizzata , quindi possiamo usare solo localmente e ha regole come non possono essere nulle, ecc., ma mi […]

Esecuzione posticipata e valutazione entusiasta

Potresti per favore darmi un esempio di esecuzione differita con una buona valutazione in C #? Ho letto da MSDN che l’esecuzione differita in LINQ può essere implementata con una valutazione pigra o desiderosa. Sono riuscito a trovare esempi in Internet per l’esecuzione posticipata con valutazione lenta, tuttavia non sono riuscito a trovare alcun esempio […]

Dichiarazione di elenco dei tipi anonimi

C’è un modo per dichiarare un object lista di tipo anonimo. intendo List someVariable = new List(); someVariable.Add( new{Name=”Krishna”, Phones = new[] {“555-555-5555”, “666-666-6666”}} ); Questo perché ho bisogno di creare una collezione in fase di runtime. Grazie in anticipo

System.Drawing.Image per lo streaming C #

Ho un System.Drawing.Image nel mio programma. Il file non si trova nel file system che viene tenuto in memoria. Devo creare un stream da esso. Come potrei fare questo?

Inferenza di tipo generico C # 3.0: passaggio di un delegato come parametro di funzione

Mi chiedo perché il compilatore C # 3.0 non sia in grado di dedurre il tipo di un metodo quando viene passato come parametro a una funzione generica quando può creare implicitamente un delegato per lo stesso metodo. Ecco un esempio: class Test { static void foo(int x) { } static void bar(Action f) { […]

Inizializzazione di oggetti C # di proprietà di raccolta di sola lettura

Per la vita di me, non riesco a capire cosa sta succedendo nel pezzo di esempio del codice C # qui sotto. La proprietà collection (List) della class di test è impostata come sola lettura, ma posso assegnarla apparentemente nell’inizializzatore dell’object. ** EDIT: risolto il problema con l’elenco ‘getter’ using System; using System.Collections.Generic; using NUnit.Framework; […]

Dati gerarchici in Linq: opzioni e prestazioni

Ho alcuni dati gerarchici – ogni voce ha un id id e un (nullable) id della voce genitore. Voglio recuperare tutte le voci nell’albero sotto una determinata voce. Questo è in un database SQL Server 2005. Lo sto interrogando con LINQ su SQL in C # 3.5. LINQ to SQL non supporta direttamente le espressioni […]

Sezione app.config personalizzata con un semplice elenco di elementi “aggiungi”

Come posso creare una sezione app.config personalizzata che è solo un semplice elenco di elementi di add ? Ho trovato alcuni esempi (ad esempio Come creare una sezione di configurazione personalizzata in app.config? ) Per le sezioni personalizzate che assomigliano a questo: Ma come evitare l’elemento di raccolta extra (“Aziende”) in modo che assomigli alle […]

Perché le proprietà dei tipi anonimi in C # sono di sola lettura?

In C #, le proprietà dei tipi anonimi sono di sola lettura: var person = new { Surname = “Smith”, OtherNames = “John” }; person.Surname = “Johnson”; // ERROR: .Surname is read-only Naturalmente posso dichiarare una vera class se voglio campi scrivibili o proprietà, ma a prescindere, qual è il ragionamento alla base di questa […]

Perché è necessario eseguire un’espressione lambda quando viene fornita come parametro Delegate semplice

Prendi il metodo System.Windows.Forms.Control.Invoke (metodo Delegate) Perché questo dà un errore in fase di compilazione: string str = “woop”; Invoke(() => this.Text = str); // Error: Cannot convert lambda expression to type ‘System.Delegate’ // because it is not a delegate type Eppure questo funziona bene: string str = “woop”; Invoke((Action)(() => this.Text = str)); Quando […]