Quando utilizzare il record / oggetto strutturato, quando usare l'elenco di stringhe?

-1

Ho scritto alcune app usando un modo imperativo semplice - ora voglio saperne di più sulla creazione di software in modo orientato agli oggetti.

Il mio obiettivo è prendere un file Excel e caricare una delle tabelle in memoria. Posso farlo da:

  1. Creazione di un elenco di stringhe per ogni riga e memorizzazione della tabella lista
  2. Creazione di una struttura / classe per i record e memorizzazione della tabella nell'elenco degli oggetti

La soluzione più semplice è ovviamente la prima soluzione, ma voglio sapere i vantaggi del secondo - il più importante, quale è meglio e quando?

Dal mio punto di vista creare una struct / object per ogni record, e quindi usare campi / proprietà per ottenere i valori rende il programma inutilmente complicato (se ho intenzione di caricare la tabella nel database ancora di più). Per qualche ragione sebbene questa fosse una delle soluzioni proposte questa domanda: Le liste bidimensionali sono possibili in c #? .

    
posta Mikołaj Chełpa 10.12.2016 - 10:18
fonte

1 risposta

2

Suppongo che tu stia parlando di una tabella bidimensionale in un foglio Excel, in cui ogni colonna ha un determinato significato, non un documento completo excel con tutte le possibili informazioni sulla meta.

Se conosci le colonne specifiche e il loro significato in anticipo, al momento della compilazione, (in genere le colonne hanno intestazioni con alcuni titoli di intestazione), quindi l'utilizzo di una classe o di una struttura con campi specifici è nella maggior parte dei casi l'approccio migliore. In questo modo, rendi esplicita la struttura della colonna nel codice del tuo programma, ogni volta che accedi a un valore da una determinata colonna accedi a un campo denominato, il che rende molto più sottostimabile ciò che il programma sta facendo proprio lì. Inoltre, il tuo programma diventa più sicuro per il tipo, il che significa meno incline agli errori.

Tuttavia, se stai scrivendo un programma che si occupa di tabelle strutturate arbitrariamente, dove le colonne e le intestazioni e il significato delle colonne non sono noti al momento della compilazione, allora hai bisogno di una struttura di dati più generica come una elenco dimensionale di stringhe.

    
risposta data 10.12.2016 - 14:35
fonte

Leggi altre domande sui tag