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的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何把图片转化为2维数组

将一维数组转化成二维数组

如何将cs文件编译成exe和dll,先谢! C#

怎么把.proto格式文件转化成.cs C#脚本?

怎样将json数据转换成匿名数组或者泛型对象(c#)

C#中如何将byte[]转化为字符串!!!