C# 数组转换为DataTable 的三个方法

 
    using System;
using System.Data; namespace ArrayToDataTable
{
class ArrayToDataTable
{
/// <summary>
/// 把一个一维数组转换为DataTable
/// </summary>
/// <param name="ColumnName">列名</param>
/// <param name="Array">一维数组</param>
/// <returns>返回DataTable</returns>
/// <remarks>柳永法 http://www.yongfa365.com/ </remarks>
public static DataTable Convert(string ColumnName, string[] Array)
{
DataTable dt = new DataTable();
dt.Columns.Add(ColumnName, typeof(string)); for (int i = 0; i < Array.Length; i++)
{
DataRow dr = dt.NewRow();
dr[ColumnName] = Array[i].ToString();
dt.Rows.Add(dr);
} return dt;
} /// <summary>
/// 反一个M行N列的二维数组转换为DataTable
/// </summary>
/// <param name="ColumnNames">一维数组,代表列名,不能有重复值</param>
/// <param name="Arrays">M行N列的二维数组</param>
/// <returns>返回DataTable</returns>
/// <remarks>柳永法 http://www.yongfa365.com/ </remarks>
public static DataTable Convert(string[] ColumnNames, string[,] Arrays)
{
DataTable dt = new DataTable(); foreach (string ColumnName in ColumnNames)
{
dt.Columns.Add(ColumnName, typeof(string));
} for (int i1 = 0; i1 < Arrays.GetLength(0); i1++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < ColumnNames.Length; i++)
{
dr[i] = Arrays[i1, i].ToString();
}
dt.Rows.Add(dr);
} return dt; } /// <summary>
/// 反一个M行N列的二维数组转换为DataTable
/// </summary>
/// <param name="Arrays">M行N列的二维数组</param>
/// <returns>返回DataTable</returns>
/// <remarks>柳永法 http://www.yongfa365.com/ </remarks>
public static DataTable Convert(string[,] Arrays)
{
DataTable dt = new DataTable(); int a = Arrays.GetLength(0);
for (int i = 0; i < Arrays.GetLength(1); i++)
{
dt.Columns.Add("col" + i.ToString(), typeof(string));
} for (int i1 = 0; i1 < Arrays.GetLength(0); i1++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < Arrays.GetLength(1); i++)
{
dr[i] = Arrays[i1, i].ToString();
}
dt.Rows.Add(dr);
} return dt; } }
} 示例代码:
view plaincopy to clipboardprint? using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; namespace ArrayToDataTable
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = ArrayToDataTable.Convert("haha", new string[] { "1", "2", "3", "4", "5", "6" });
} private void button2_Click(object sender, EventArgs e)
{
string[,] array3D = {
{ "1", "数组转DataTable 1", "0"},
{ "2", "数组转DataTable 2", "1"},
{ "3", "数组转DataTable 3", "1"},
{ "4", "数组转DataTable 4", "2"},
{ "5", "数组转DataTable 5", "2"},
{ "6", "数组转DataTable 6", "5"},
};
dataGridView1.DataSource = ArrayToDataTable.Convert(new string[] { "haha1", "haha2", "haha3" }, array3D); } private void button3_Click(object sender, EventArgs e)
{
string[,] array3D = {
{ "1", "数组转DataTable 1", "0"},
{ "2", "数组转DataTable 2", "1"},
{ "3", "数组转DataTable 3", "1"},
{ "4", "数组转DataTable 4", "2"},
{ "5", "数组转DataTable 5", "2"},
{ "6", "数组转DataTable 6", "5"},
};
dataGridView1.DataSource = ArrayToDataTable.Convert(array3D); } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("Iexplore.exe", "http://www.yongfa365.com/");
}
}
}

C# 数组转换为DataTable 的三个方法的更多相关文章

  1. php数组合并有哪三种方法

    php数组合并有哪三种方法 一.总结 一句话总结:array_merge():array_merge_recursive():‘+'号 $a = array('color'=>'red',5,6 ...

  2. js字符串转换为数字的三种方法。(转换函数)(强制类型转换)(利用js变量弱类型转换)

    js字符串转换为数字的三种方法.(转换函数)(强制类型转换)(利用js变量弱类型转换) 一.总结 js字符串转换为数字的三种方法(parseInt("1234blue"))(Num ...

  3. HDU 1556 线段树/树状数组/区间更新姿势 三种方法处理

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  4. Java中实现十进制数转换为二进制的三种方法

    第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数 ...

  5. JArray数组转换为DataTable

  6. 数组转DataTable

    using System; using System.Data; namespace ArrayToDataTable { class ArrayToDataTable { /// <summa ...

  7. 数组和datatable间的相互转换[C#]

    byte[] LogMsgByte = null; DataTable dtMessageInfo = new DataTable(); //将datatable转换为数组 dtMessageInfo ...

  8. 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

    方法一:使用Arrays.asList()方法   1 2 String[] asset = {"equity", "stocks", "gold&q ...

  9. DataTable数据批量写入数据库三种方法比较

    DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1)   insert循环插入:2)   sqldataadapter.update(dataset,tablename); ...

随机推荐

  1. ThinkPHP---TP功能类之联表查询

    [一]介绍 在原生的sql中使用join 语法进行数据的联表查询, 在ThinkPHP里支持联表查询操作,但是可以归纳成两种方式:table方法.join方法 (1)table方法:在TP中对应SQL ...

  2. 使用Java中Calendar类测试当前年月日

    import java.util.Calendar; public class time { public static void main(String[] args) { Calendar cal ...

  3. TWaver MONO模板库新鲜出炉 精彩纷呈

    MONO Design在线3D建模平台网站, www.mono-design.cn,开发组的成员们已经开始紧锣密鼓的对这个平台进行内测.在之前的文章里,我们提到用户可以获得多种多样的TWaver官方模 ...

  4. 浅谈es6 promise

    本文是借鉴于ac黄的博客. 接触es6也有几个月了,貌似没有系统的去学习过它,总是用到什么,查查什么.今天就说下es6中的promise对象. 先说说promise解决了什么问题? 写前端的同学都经常 ...

  5. Opencv下双线性插值法进行图像放缩

    关于图像放缩的算法有很多,本文主要介绍双线性插值法进行图像放缩,本文参考了: http://www.cnblogs.com/funny-world/p/3162003.html 我们设源图像src的大 ...

  6. 「 hihoCoder 1014 」Trie 树

    标题真直接 题目大意 给你 $n$ 个字符串.存到一个字典中.又给你 $m$ 个询问,每个询问给一个字符串,在字典中查出有多少个字符串是以这个字符串为前缀. 解题思路 模板题啊 在每个点设置一个变量 ...

  7. python_ 学习笔记(基础语法)

    python的注释 使用(#)对单行注释 使用('''或者""")多行注释,下面的代码肯定了python的牛逼 print("python是世界上最好的语言吗? ...

  8. mac 中查看监听程序

    sudo lsof -nP -iTCP -sTCP:LISTEN | grep mysql

  9. java中String,int,Integer,char、double类型转换

    java中String,int,Integer,char.double类型转换----https://www.cnblogs.com/kangyu222/p/5866025.html

  10. codeforces gym 100357 H (DP 高精度)

    题目大意 有r*s张扑克牌,数字从1到 r,每种数字有s种颜色. 询问对于所有随机的d张牌,能选出c张组成顺子的概率和组成同花的概率. 解题分析 对于组成顺子的概率,令dp[i][j][k]表示一共选 ...