将数据表值转换为字符串值数组

时间:2014-03-14 06:53:22

标签: c#

方法1:

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

方法2:

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

现在我想将DataTable值传递给method2 String [] servergroups 如何将DataTable值传递给字符串值数组?

抱歉,忘了提一下我的DataTable中有2列。 !st列是ProjectId,第二列是服务器组ID。现在我只需要在我的字符串数组

中使用ServerGroup Id

2 个答案:

答案 0 :(得分:1)

试试这个

public void method1(DataTable ServerGroupIds)
{

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

obj.method2(serverGroups );  

}

不要忘记包含System.Linqt.Field<string>("ID")。将“ID”替换为要放入数组的数据表中列的名称

答案 1 :(得分:0)

对于单行,您可以这样做:

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

现在将所有行(通过您的DataTable循环)rowAsString添加到列表中:

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();

并传递给method2

obj.method2(array);