Articles of c # 3.0

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 […]

Perché l’implementazione Equals per i tipi anonimi confronta i campi?

Mi chiedo solo perché i progettisti della lingua abbiano deciso di implementare Equals su tipi anonimi in modo simile a Equals sui tipi di valore. Non è fuorviante? class Person { public string Name { get; set; } public int Age { get; set; } } public static void ProofThatAnonymousTypesEqualsComparesBackingFields() { var personOne = new […]

Come impostare lo stile di finestra WPF predefinito in app.xaml?

Sto cercando di impostare lo stile predefinito per ogni finestra della mia applicazione Windows WPF nella mia app.xaml. Finora ho questo in app.xaml: Posso far apparire la finestra con questo stile durante l’esecuzione dell’app (ma non è VS Designer) specificando specificamente alla finestra di utilizzare questo stile tramite: Style=”{DynamicResource WindowStyle} Funziona, ma non è l’ideale. […]

Imansible trovare il file dei metadati “.dll”

Sto lavorando a un progetto WPF, C # 3.0, e ottengo questo errore: Error 1 Metadata file ‘WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug \BusinessLogicLayer.dll’ could not be found C:\-=WORK=- \Tools \VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem Questo è il modo in cui faccio riferimento ai miei usercontrols: xmlns:vms=”clr-namespace:VersionManagementSystem” Succede dopo ogni build fallita. L’unico modo per ottenere la soluzione da compilare è di […]

Ricerca del controllo ricorsivo con LINQ

Se volessi trovare caselle di controllo spuntate su una pagina ASP.NET, potrei usare la seguente query LINQ. var checkBoxes = this.Controls .OfType() .TakeWhile(cb => cb.Checked); Funziona bene se le caselle di controllo sono nidificate nella raccolta di controllo corrente, ma mi piacerebbe sapere come estendere la ricerca eseguendo il drill down nelle raccolte di controllo […]

Qual è l’aspetto più difficile o più incompreso di LINQ?

Antefatto: nel corso del prossimo mese parlerò di tre o almeno includerò LINQ nel contesto di C# . Mi piacerebbe sapere su quali argomenti vale la pena dare una buona dose di attenzione, in base a ciò che le persone potrebbero trovare difficili da capire o su cosa potrebbero avere un’impressione sbagliata. Non LINQ specificamente […]

Come ottenere l’indice usando LINQ?

Data una fonte dati come quella: var c = new Car[] { new Car{ Color=”Blue”, Price=28000}, new Car{ Color=”Red”, Price=54000}, new Car{ Color=”Pink”, Price=9999}, // .. }; Come posso trovare l’ indice della prima auto che soddisfa una determinata condizione con LINQ? MODIFICARE: Potrei pensare a qualcosa di simile ma sembra orribile: int firstItem = […]