C#将字符串数组转换为数据集

时间:2010-08-27 09:58:01

标签: c# arrays dataset

我有一个字符串数组,需要将它们转换为数据集。有没有一些快捷方式来做到这一点?例如:

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

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

我对格式化或结构不太感兴趣。

3 个答案:

答案 0 :(得分:11)

我看不到任何值,但是如果你真的必须按照你的要求去做,下面的代码将创建一个数据集,其中包含一个表,每个项只有一列和一行在阵列中。

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;
    }
}

答案 1 :(得分:2)

dataTable.LoadDataRow(array, true);

答案 2 :(得分:0)

其他例子对我不起作用。发现这个:

  public DataTable ConvertArrayToDatatable(MarketUnit[] arrList)
    {
        DataTable dt = new DataTable();
        try
        {
            if (arrList.Count() > 0)
            {
                Type arrype = arrList[0].GetType();
                dt = new DataTable(arrype.Name);

                foreach (PropertyInfo propInfo in arrype.GetProperties())
                {
                    dt.Columns.Add(new DataColumn(propInfo.Name));
                }

                foreach (object obj in arrList)
                {
                    DataRow dr = dt.NewRow();

                    foreach (DataColumn dc in dt.Columns)
                    {
                        dr[dc.ColumnName] = obj.GetType().GetProperty(dc.ColumnName).GetValue(obj, null);
                    }
                    dt.Rows.Add(dr);

                }
            }


            return dt;
        }
        catch (Exception ex)
        {
            return dt;
        }

    }