2009-06-24 14 views

risposta

15

Se non ricordo male il solo 4 parole chiave che sono a disposizione di VB.Net e C# non attraverso la sintassi di query sono

VB.Net ha aggiunto queste parole chiave perché ritenevamo che sarebbe stato prezioso per i nostri utenti. Abbiamo immaginato che la sintassi delle query fosse un modo principale in cui gli utenti di VB.net avrebbero utilizzato LINQ e volevano abilitare il maggior numero possibile di scenari tramite la sintassi.

Non so perché C# li ha lasciati fuori. La mia speculazione è che non ritenevano che lo scenario giustificasse il costo, soprattutto considerando che la funzione è ancora disponibile tramite i metodi di estensione.

EDIT Aggiunto aggregata e pochi altri (grazie Dario e Chris!)

+0

Aggregato e le sue combinazioni non esistono in C#! – Dario

+4

Quello che mi sorprende di più è distinto ... selezionare flussi distinti così naturalmente. –

+0

Non dimenticare Skip While and Take While –

3

Il team VB ha deciso di creare più estensioni della lingua rispetto al team C# (in termini di parole chiave che si traducono in operatori di query standard). Lo comunico a diversi team che hanno diversi obiettivi di progettazione.

Fortunatamente entrambe le lingue hanno accesso completo a tutti gli operatori di query standard disponibili, quindi non c'è alcuna perdita di funzionalità.

+0

Non sincronizzo con il framework (System.Core) è comune in tutte le lingue. – pedrofernandes

0

Verificare se si dispone di menu

Tools > Options > Text Editor > C# -> Statment Completation -> Hide advanced members 

unckecked, se questo è il check significa che hai i membri nascosti da voi. Questo è creato da VS Team per aiutare e semplificare le attività ai neofiti.

+0

non sono membri; questa impostazione non fa alcuna differenza rispetto al numero di parole chiave [contestuali] –

+0

Sì, è vero. Ma Linq "keyworkds" è su System.Core e questa è una DLL in framework che funziona con vb, C# o altro. – pedrofernandes

+0

Non mi riferisco mai alle parole chiave sempre membri. E Distinct o Distinct o altro è tutti i membri. – pedrofernandes

0

Una parola chiave che è semi- "LINQ" da LINQ che C# ha che VB non ha è yield.

+0

Non picchiare i programmatori VB, come ho solo migrato da VB a C# di recente (negli ultimi due anni) ... Ho ipotizzato che è perché una grande maggioranza di programmatori VB non comprenderebbe il concetto di rendimento e tanto meno troverà un uso per questo, quindi, il guadagno netto di includerlo non supererebbe il costo dello sviluppo e quindi non avrebbe senso per l'inclusione. – BenAlabaster

Problemi correlati