Comment fusionner deux colonnes dans un DataSet?

Auparavant, j'ai demandé à propos de l'insertion d'une colonne dans un dataset. J'ai maintenant une question similaire...à savoir la fusion de deux ou plusieurs colonnes dans une colonne unique.

Permet de dire que j'ai les données suivantes:

DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("id", typeof(int));
ds.Tables[0].Columns.Add("firstname", typeof(string));
ds.Tables[0].Columns.Add("lastname", typeof(string));

Je suis à devoir combiner le "prénom" et "nom" colonnes en une seule colonne, appelée "nom".

Serait-il préférable pour moi de créer une méthode qui permet de fusionner deux colonnes ou plus général qui peut être utilisé pour fusionner plusieurs colonnes?

Mon idée est de créer une méthode généralisée en quelque sorte le suivant:

MergeColumns(format de la chaîne, chaîne mergedColumn, DataTable dt, params string[] columnsToMerge)

L'utilisateur fournit un format comme suit: "{0} {1}"

mergedColumn est le nom de la nouvelle colonne...mais il faut être capable d'être la même que l'une des colonnes qui seront fusionnés cause dans mon monde réel cas, je suis la fusion de "nom" et "given_names" dans "nom"...mais je veux toujours être en mesure de l'utiliser si jamais j'ai besoin de fusionner "rue", "ville", "etat", "code postal" etc ... dans une colonne appelée "adresse".

La façon dont je pense, ce serait utilisée est la suivante:

MergeColumns("{0} {1}", "nom", dataTable, "prénom", "nom");

étant donné les données présentées ci-dessus, j'attendrais la résultante de l'ensemble de données présente comme suit:

DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("id", typeof(int));
ds.Tables[0].Columns.Add("name", typeof(string));

Cela vous semble comme une approche raisonnable? Ne une méthode comme cela existe déjà? Je ne veux pas réinventer la roue. Aussi, suis-je créer une méthode qui ne sont plus que j'ai réellement besoin en ce moment?

InformationsquelleAutor mezoid | 2009-01-19