2010-08-27 8 views
0

J'ai un tableau de chaînes et j'ai besoin de les convertir en ensemble de données. Y a-t-il un moyen rapide de faire cela? Par exemple:C# Convertir un tableau de chaînes en ensemble de données

string[] results = GetResults();  
DataSet myDataSet = new DataSet(); 

results = myDataSet.ToDataSet(); // Convert array to data set 

Je ne suis pas trop dérangé par le formatage ou la structure.

+2

Pas vraiment. Un DataSet est une structure tridimensionnelle (tables, colonnes et lignes). Un tableau est un, donc il n'y a pas de conversion évidente. –

+0

En outre, votre code d'exemple est erroné. – adamse

+1

L'exemple de code est intentionnellement faux (s'il y avait une fonction ToDataSet() alors je n'aurais pas besoin de poser la question) –

Répondre

11

Je ne vois aucune valeur mais doit faire faire comme vous le demandez, le code suivant va créer un ensemble de données avec une seule table qui a une seule colonne et une ligne par élément dans le tableau.

internal static class Program 
{ 
    private static void Main(string[] args) 
    { 
     string[] array = new [] { "aaa", "bbb", "ccc" }; 
     DataSet dataSet = array.ToDataSet(); 
    } 

    private static DataSet ToDataSet(this string[] input) 
    { 
     DataSet dataSet = new DataSet(); 
     DataTable dataTable = dataSet.Tables.Add(); 
     dataTable.Columns.Add(); 
     Array.ForEach(input, c => dataTable.Rows.Add()[0] = c); 
     return dataSet; 
    } 
} 
+0

très agréable de le faire avec une méthode d'extension. –

+0

Très bonne utilisation de LINQ avec cette solution. –

1
dataTable.LoadDataRow(array, true); 
+0

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant _how_ et/ou _why_ il résout le problème améliorerait la valeur à long terme de la réponse. –

0

D'autres exemples ne fonctionnent pas pour moi. Trouvé ceci:

Questions connexes