user3356020
user3356020

Reputation: 119

Converting Data Table values into array of string values

method1:

public void method1(DataTable ServerGroupIds)
{
   obj.method2(ServerGroupIds);  
}

method2 :

public static void method2(string[] servergroups)
{
    obj.Message = userName + " has Un-Restricted the Project.";
}

Now I want to pass the DataTable values into the method2 String[] servergroups How can I pass my DataTable values into an array of string values?

Sorry, Forget to mention I have 2 columns in my DataTable. !st column is ProjectId and Second Column is Server Group Id. Now I need only ServerGroup Id's in my array of string

Upvotes: 0

Views: 1460

Answers (2)

yohannist
yohannist

Reputation: 4204

Try this

public void method1(DataTable ServerGroupIds)
{

   string [] serverGroups = ServerGroupIds.AsEnumerable().Select(t => t.Field<string>("ID")).ToArray<string>();

obj.method2(serverGroups );  

}

Don't forget to include System.Linq in t.Field<string>("ID"). Replace "ID" with the name of the column in the data table you want to put into the array

Upvotes: 2

Sadique
Sadique

Reputation: 22823

For a single row you can do this:

var rowAsString = string.Join(", ", ServerGroupIds.Rows[0].ItemArray); 

Now add all the rows (by looping through your DataTable) rowAsString to a list:

List<string> list = new List<string>();
for (int i = 0; i < ServerGroupIds.Rows.Count; i++)
{
    string rowAsString = string.Join(", ", ServerGroupIds.Rows[i].ItemArray);
    list .Add(rowAsString );
}
string[] array = list.ToArray();

And pass to method2:

obj.method2(array);

Upvotes: 0

Related Questions