C# 数组转换为DataTable 的三个方法
2024-08-30 21:58:54
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/");
}
}
}
最新文章
- 【python之路3】if 语句
- java中关键字this的使用
- CSU 1597 薛XX后代的IQ
- npm 重点小结
- 修改美化Matlab字体
- vb.net 控件(包括字体)随窗体按比例缩放
- mysql格式化整数类型时间生成年月日时分秒格式(long或string接收)
- ListView去除顶部和底部边缘阴影(亲测4.4及以前的版本都适用)
- win7使用USB转串口连接mini2440方法
- java解析页面包jsoup
- iOS开发之自定义输入框(利用UITextField及UITextView)
- MPICH3环境配置
- C#基础篇--静态成员、抽象成员、接口
- 学习less
- rpc接口调用以太坊智能合约
- HTML5中的语义标签兼容IE8以及更低版本的浏览器
- [CF1132F]Clear the String
- [Tensorflow] Cookbook - The Tensorflow Way
- JSON和Serialize数据格式的对比
- python变量存储和深浅拷贝
热门文章
- gym101343 2017 JUST Programming Contest 2.0
- C++ 11常见功能介绍:auto,decltype,nullptr,for,lambda
- 我已经迷失在事件环(event-loop)中了【Nodejs篇】
- 迷宫自动生成以及基于DFS的自动寻路算法
- gnulpot
- ch12 GUI
- NOIP2018提高组省一冲奖班模测训练(一)
- Python基础(三) 数据类型
- JS权威指南笔记1
- [luoguP1072] Hankson 的趣味题(数论)