C# CS结构中 2005 如何将二维数组转化成DataSet
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# CS结构中 2005 如何将二维数组转化成DataSet相关的知识,希望对你有一定的参考价值。
给你写了个例子,你可以试试我已经测试过了
string[][] a = new string[3][]; //你获得的数组,为了测试方便我就直接写了。
a[0]=new string[]"1","2","3"; //数组你可以自己获得
a[1] = new string[] "4", "5", "6" ;
a[2] = new string[] "7", "8", "9" ;
----------------------------------------------------------------主体方法
DataTable dt = new DataTable();
DataRow dr=null;
for (int i = 0; i < a[0].Length; i++)
dt.Columns.Add(new DataColumn(i.ToString()));
for (int j = 0; j < a.Length; j++)
dr = dt.NewRow();
for (int k = 0; k < a[j].Length; k++)
dr[k] = a[j][k];
dt.Rows.Add(dr);
-----------------------------------------------------------------//测试
foreach (DataRow r in dt.Rows)
Response.Write(r[0].ToString() + r[1].ToString() + r[2].ToString());
有时候真心不想说,这个方法除了我虚拟了一个数组
其他的地方都是通用的,完全没有写死
那位关于转XML的方法,我觉得光说没有用,把代码发上来才实际
如果说一定要按照楼下的转换
我也肯定转json不转XML 参考技术A 二维数组序列化成XML字符串,XML字符串转换成DataSet。
这种方式比较合适,楼上的方式也是可以的,但是效率很低,而且不够通用。
将一维数组转化成二维数组
<nz-table #colSpanTable [nzData]="temp" nzBordered> <tbody> <ng-container *ngFor="let row of temp;let i = index"> <tr> <td *ngFor="let title of row">title.AreaCodesName</td> </tr> <tr> <td *ngFor="let item of row"> <div *ngFor="let content of item.Employees" nz-row nzType="flex" > <div> content </div> </div> </td> </tr> </ng-container> </tbody> </nz-table>
import Component, OnInit from ‘@angular/core‘; import STComponent, STColumn, STData, STChange, STPage, STColumnTag from ‘@delon/abc‘; import ja_JP from ‘ng-zorro-antd/i18n/languages/ja_JP‘; @Component( selector: ‘app-card-whole-consume‘, templateUrl: ‘./card-whole-consume.component.html‘, styleUrls: [‘./card-whole-consume.component.css‘] ) export class CardWholeConsumeComponent implements OnInit data: any[] = []; areaList: any[] = []; rows; temp ; constructor() ngOnInit() this.data = [ AreaCodesName: ‘东北地区‘, Employees: [‘吉林省‘, ‘辽宁省‘, ‘黑龙江省‘, ‘黑龙江省‘], , AreaCodesName: ‘华东地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , AreaCodesName: ‘西北地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , AreaCodesName: ‘东南地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , AreaCodesName: ‘华南地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , AreaCodesName: ‘华北地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , AreaCodesName: ‘西南地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , AreaCodesName: ‘华中地区‘, Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], , ]; this.setArrData(this.data); // 将上面数组转化成二维数组: // this.temp = [[ // AreaCodesName: ‘东北地区‘, // Employees: [‘吉林省‘, ‘辽宁省‘, ‘黑龙江省‘, ‘黑龙江省‘], // ContentName: [‘苹果‘, ‘梨子‘, ‘葡萄‘] // , // // AreaCodesName: ‘华东地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // , // // AreaCodesName: ‘西北地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // , // // AreaCodesName: ‘东南地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // ], [ // AreaCodesName: ‘华南地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // , // // AreaCodesName: ‘华北地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // , // // AreaCodesName: ‘西南地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // , // // AreaCodesName: ‘华中地区‘, // Employees: [‘安徽省‘, ‘江苏省‘, ‘山东省‘], // ContentName: [‘香蕉‘, ‘梨子‘, ‘葡萄‘] // ]]; // 将一维数组转化成二维数组 setArrData(arr) let num = Math.ceil(arr.length / 4); // 2 this.temp = new Array(num); for (let i = 0; i < num; i++) this.temp[i] = this.data.slice(i*4, i*4+3); // 规律: i*4 i*4+3 // this.temp[0] = this.data.slice(0, 3); // this.temp[1] = this.data.slice(4, 7); // this.temp[2] = this.data.slice(8, 11); // this.temp[3] = this.data.slice(12, 15); // this.temp[4] = this.data.slice(16, 19);
以上是关于C# CS结构中 2005 如何将二维数组转化成DataSet的主要内容,如果未能解决你的问题,请参考以下文章