Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-07-2015, 23:42   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
[C#][LINQ] Creare un Dictionary da un DataTable

Sera a tutti,
ho un datatable formato da N colonne, due delle quali sono 'tipo' e 'colore'.

Avrei la necessità di popolare un Dictionary eseguendo un distinct sul dataTable per 'tipo' e tirando fuori i colori ad esso associati.

Ho semplicemente scritto:
Codice:
Dictionary<String, String> listOfTypeColours = new Dictionary<String, String>();

listOfTypeColours = fs.DataTable.AsEnumerable().Distinct()
                                               .ToDictionary(
                                                    row => row.Field<String>('Tipo'),
                                                    row => row.Field<String>('Colore')
                                                );
ma non riesco ad eseguire la distinct per 'tipo'.

Potreste aiutarmi?

Grazie
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2015, 08:54   #2
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Oppure potrei prima eseguire un distinct per ricavare i 'tipi' presenti....ma dopo come posso eseguire un iterator per ricavare il 'colore' corrispondente?

Codice:
List<string> arrType = fs.DataTable.AsEnumerable()
                                                 .Select(row => row.Field<String>('Tipo'))
                                                 .Distinct()
                                                 .ToList();
Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2015, 09:20   #3
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Ragazzi, ho trovato questa soluzione funzionante:
Codice:
Dictionary<String, String> listOfTypeColours = new Dictionary<String, String>();                
				
List<string> arrType = fs.DataTable.AsEnumerable().Select(row => row.Field<String>('TIPO')).Distinct().ToList();

foreach (string item in arrType)
{
	string myKey = fs.DataTable.AsEnumerable().Where(row => row.Field<String>('TIPO').Equals(item))
											  .Select(row => row.Field<String>('COLORE')).First();

	listOfTypeColours.Add(item, myKey); 
}
.

Se comunque esiste un modo per eseguire un distinct sul DataTable e da esso ricavare un Dictionary, potreste indicarmelo?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2015, 18:52   #4
lishi
Senior Member
 
L'Avatar di lishi
 
Iscritto dal: Sep 2006
Messaggi: 1539
A dire la verità mi sembra che la tua soluzione non sia corretta
se hai

"Pippo", "ROSSO"
"Pippo","Verde"

A pippo verrebbe associato solo il primo perdendo il secondo

Ti serve forse

Dictionary<string,List<string>> typeToColors;


Che puoi fare tipo

Codice:
Dictionary<string,List<string>> dict = dt.AsEnumerable().GroupBy(r => r.Field<string>("tipo")).ToDictionary(r => r.Key, r => r.AsEnumerable().Select(ri => ri.Field<string>("colore")).ToList());

Ultima modifica di lishi : 31-07-2015 alle 21:17.
lishi è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2015, 00:00   #5
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Ho dimenticato di dire che l'associazione è unica...ho in join due tabelle da una delle quali si ricava il colore per ogni tipo....

Ultima modifica di robertino_salemi : 07-08-2015 alle 15:44.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v