C# 数组转换为DataTable 的三个方法
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 的三个方法的更多相关文章
- php数组合并有哪三种方法
php数组合并有哪三种方法 一.总结 一句话总结:array_merge():array_merge_recursive():‘+'号 $a = array('color'=>'red',5,6 ...
- js字符串转换为数字的三种方法。(转换函数)(强制类型转换)(利用js变量弱类型转换)
js字符串转换为数字的三种方法.(转换函数)(强制类型转换)(利用js变量弱类型转换) 一.总结 js字符串转换为数字的三种方法(parseInt("1234blue"))(Num ...
- HDU 1556 线段树/树状数组/区间更新姿势 三种方法处理
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Java中实现十进制数转换为二进制的三种方法
第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数 ...
- JArray数组转换为DataTable
- 数组转DataTable
using System; using System.Data; namespace ArrayToDataTable { class ArrayToDataTable { /// <summa ...
- 数组和datatable间的相互转换[C#]
byte[] LogMsgByte = null; DataTable dtMessageInfo = new DataTable(); //将datatable转换为数组 dtMessageInfo ...
- 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)
方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold&q ...
- DataTable数据批量写入数据库三种方法比较
DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1) insert循环插入:2) sqldataadapter.update(dataset,tablename); ...
随机推荐
- VR虚拟红包的技术实现
2017年1月20日,腾讯发布消息称将推出Q-Glass,除了一般VR眼镜的标配功能外,Q-Glass还能实现眨眼抢红包.听起来是不是很酷炫?上市时间可要在10年后.不过,2016年底支付宝首推AR实 ...
- 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
package algorithms; import java.util.ArrayList; import java.util.Stack; /** * public class ListNode ...
- 日常开发需要掌握的Git命令
本人待的两家公司,一直都是用的SVN,Git我只是自己私下学习和开发小项目的时候用过,工作一直没有使用过,但还是要学的... Git是最好的分布式版本控制系统 工作流程 SVN和Git的区别 SVN是 ...
- 微服务网关从零搭建——(二)搭建api网关(不带验证)
环境准备 创建空的core2.1 api项目 演示使用名称APIGateWay 过程参考上一篇 完成后在appsettings.json 添加节点 "Setting": { & ...
- Docker 安装并定制 Nginx 服务器
安装并定制 Nginx 1.查阅对应的官方文档,首先下载镜像文件: [spider@izwz9d74k4cznxtxjeeur9z local]$ sudo docker pull nginx [su ...
- buf.readInt32BE()
buf.readInt32BE(offset[, noAssert]) buf.readInt32LE(offset[, noAssert]) offset {Number} 0 <= offs ...
- Jmeter使用基础笔记-写一个http请求
前言 本篇文章主要讲述2个部分: 搭建一个简单的测试环境 用Jmeter发送一个简单的http请求 搭建测试环境 编写flask代码(我参考了开源项目HttpRunner的测试服务器),将如下的代码保 ...
- mac 中查看监听程序
sudo lsof -nP -iTCP -sTCP:LISTEN | grep mysql
- LVS集群的三种工作模式
LVS的三种工作模式: 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1.N ...
- open random
open文件操作 f = open('文件路径',mode='rwab+',encoding='utf-8') # content = f.read(3) # 读出来的都是字符 # f.seek(3) ...