Articles of c # 3.0

Come scorrere il dizionario e modificare i valori?

Dictionary myDict = new Dictionary(); //… foreach (KeyValuePair kvp in myDict) { kvp.Value = Math.Round(kvp.Value, 3); } Viene visualizzato un messaggio di errore: “Imansible assegnare la proprietà o l’indicizzatore ‘System.Collections.Generic.KeyValuePair.Value’ – è di sola lettura.” Come posso eseguire iterate su myDict e modificare i valori?

In C #, come posso conoscere il tipo di file da un byte ?

Ho un array di byte riempito da un file caricato. Ma, in un’altra parte del codice, ho bisogno di conoscere questo tipo di file caricato dal byte [] così posso rendere il tipo di contenuto corretto al browser! Grazie!!

Quando si usano gli inizializzatori di oggetti, perché il compilatore genera una variabile locale extra?

Rispondendo a una domanda su SO ieri, ho notato che se un object è inizializzato usando un inizializzatore di oggetti, il compilatore crea una variabile locale extra. Si consideri il seguente codice C # 3.0, compilato in modalità di rilascio in VS2008: public class Class1 { public string Foo { get; set; } } public […]

Conversione di numeri interi in numeri romani

Sto cercando di scrivere una funzione che converta i numeri in numeri romani. Questo è il mio codice finora; tuttavia, funziona solo con numeri inferiori a 400. Esiste un modo semplice e veloce per eseguire questa conversione o estendere il mio codice esistente in modo che gestisca tutti i casi? Grazie in anticipo per qualsiasi […]

Tecnica Fast e Best Producer / Consumer Queue BlockingCollection vs Queue concurrent

Im utilizzando Generic.Queue in C # 3.0 e Monitor.Enter, attendere, uscire per attendere prima di consumare la coda (attendere che l’elemento sia accodato). Ora mi sto spostando su C # 4. Qualcuno può suggerirmi quale è veloce e migliore soprattutto per evitare le serrature .. BlockingCollection vs concurrentQueue o qualsiasi altra cosa … Nota. Non […]

I metodi di estensione richiedono che la class dichiarata sia statica

Perché i metodi di estensione richiedono che la class dichiarante sia statica? È un requisito del compilatore?

Quale compito è meglio fare in uno stile di programmazione funzionale?

Recentemente ho scoperto lo stile di programmazione funzionale e sono convinto che ridurrà gli sforzi di sviluppo, renderà il codice più facile da leggere, renderà il software più gestibile. Tuttavia, il problema è che ho aspirato a convincere chiunque. Bene, di recente mi è stata data la possibilità di tenere un discorso su come ridurre […]

Elenco in sola lettura con un set privato

Come posso esporre un List modo che sia di sola lettura, ma può essere impostato privatamente? Questo non funziona: public List myList {readonly get; private set; } Anche se lo fai: public List myList {get; private set; } Puoi ancora fare questo: myList.Add(“TEST”); //This should not be allowed Immagino tu possa avere: public List myList […]

Come creare un metodo di estensione di join LINQ dinamico

C’era una libreria di metodi di estensioni LINQ dinamici rilasciati come esempio con Visual Studio 2008 . Mi piacerebbe estenderlo con un metodo di join. Il codice seguente non riesce con un’eccezione di corrispondenza di errore del parametro in fase di esecuzione. Dov’è il problema? public static IQueryable Join(this IQueryable outer, IEnumerable inner, string outerSelector, […]

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