Articles of extension methods

FindAll vs Where extension-method

Voglio solo sapere se un “FindAll” sarà più veloce di un “Where” extentionMethod e perché? Esempio : myList.FindAll(item=> item.category == 5); o myList.Where(item=> item.category == 5); Che è migliore ?

Metodi di estensione F # in C #

Se dovessi definire alcuni metodi di estensione, proprietà in un assembly scritto in F #, e quindi usare quell’assembly in C #, vedresti le estensioni definite in C #? Se è così, sarebbe così bello.

Come estendere i tipi di C # built-in, come String?

Saluti a tutti … Ho bisogno di Trim una String . Ma voglio rimuovere tutti gli spazi vuoti ripetuti all’interno della String stessa, non solo alla fine o all’inizio di essa. Potrei farlo con un metodo come: public static string ConvertWhitespacesToSingleSpaces(string value) { value = Regex.Replace(value, @”\s+”, ” “); } Che ho ottenuto da qui […]

Qual è l’uso migliore o più interessante dei metodi di estensione che hai visto?

Sto iniziando ad amare davvero i metodi di estensione … Mi stavo chiedendo se qualcuno di lei si è imbattuta in uno che ha davvero fatto impazzire la loro mente, o semplicemente trovato intelligente. Un esempio che ho scritto oggi: Modificato a causa di commenti di altri utenti: public static IEnumerable To(this int fromNumber, int […]

Cosa causa “i metodi di estensione non possono essere inviati dynamicmente” qui?

Compile Error ‘System.Data.SqlClient.SqlConnection’ non ha alcun metodo applicabile denominato ‘Query’ ma sembra avere un metodo di estensione con quel nome. I metodi di estensione non possono essere inviati dynamicmente. Valuta la possibilità di trasmettere gli argomenti dinamici o chiamare il metodo di estensione senza la syntax del metodo di estensione. Ora, so come risolvere il […]

Come implementare il join sinistro nel metodo di estensione JOIN

Sto cercando di implementare un outer join su questo tipo di query per la tabella p.Person . Come lo farei? Questo esempio è tratto da http://ashishware.com/DSLinqExample.shtml var onlyinfo = p.Person .Where(n => n.FirstName.Contains(‘a’)) .Join(p.PersonInfo, n => n.PersonId, m => m.PersonId, (n, m) => m) .ToArray();

Qual è la performance del metodo di estensione Last () per List ?

Mi piace veramente Last() e userei tutto il tempo per List s. Ma poiché sembra essere definito per IEnumerable , immagino che enumeri prima l’enumerazione – questo dovrebbe essere O (n) in opposizione a O (1) per l’indicizzazione diretta dell’ultimo elemento di una List . I metodi di estensione standard (Linq) ne sono a conoscenza? […]

Perché non riesco a chiamare un metodo di estensione da una class base del tipo esteso?

Sto cercando di aggiungere la possibilità di cercare elementi in un List<KeyValuePair> sovrascrivendo l’indicizzatore. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { public class MyList : List<KeyValuePair> { public int this[string key] { get { return base.Single(item => item.Key == key).Value; } } } } Per qualche ragione, il compilatore […]

Come posso ottenere un metodo di estensione per modificare l’object originale?

Voglio essere in grado di scrivere i metodi di estensione in modo da poter dire: lines.ForceSpaceGroupsToBeTabs(); invece di: lines = lines.ForceSpaceGroupsToBeTabs(); Tuttavia, al momento viene generato il seguente codice: ….one ……..two invece di: Tone TTtwo Cosa devo modificare nel codice seguente per renderlo output: Tone TTtwo (nota che per visibilità,. . = space, T = […]

Utilizzo dei metodi di estensione in .NET 2.0?

Voglio farlo, ma ricevendo questo errore: Errore 1 Imansible definire un nuovo metodo di estensione perché il compilatore richiesto non è in grado di trovare “System.Runtime.CompilerServices.ExtensionAttribute”. Ti manca un riferimento a System.Core.dll? [ha tagliato alcune cose del percorso] Ho visto alcune risposte qui che dice che devi definire questo attributo tu stesso. Come lo faccio? […]