在c#中怎么使得txt文件中的数据将数值写到一个二维数组里面.....

解决方案 »

  1.   


    int cols = 7;//列数
    DataTable dt = new DataTable();
    for (int i = 0; i < cols; i++)
    {
        dt.Columns.Add(new DataColumn());
    }
    string[] arr = textBox1.Text.Split(new char[] {'\r','\n' },StringSplitOptions.RemoveEmptyEntries);
    for (int i = 0; i < arr.Length; i++)
    {
        DataRow dr = dt.NewRow();
        string[] array = arr[i].Split(' ');//arr[i]是每一行的值。
        for (int j = 0; j < array.Length; j++)
        {
            dr[j] = array[j];//array[j]是i行的第j个字符串
        }
        dt.Rows.Add(dr);
    }
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);适合LZ参考
      

  2.   

    额...其实我这关键的一步是将txt文档中的数字提取到一个数组中 即怎么边取边判断它是否是数是的话 就加入到数组 否则继续往下......
      

  3.   

    读出的数据可以判断它的ASCII 码
      

  4.   

    using System;
    using System.Collections;
    using System.Linq;
    using System.Text;
    using System.IO;namespace 矩阵求均值
    {
        class Program
        {
            public static bool IsNumeric(string s,out double v)
            {
               
                bool bReturn = true;
                try
                {
                    v = double.Parse(s);
                }
                catch
                {
                    v = 0;
                    bReturn = false;
                }
                return bReturn;        }         static void Main(string[] args)
            {
                StreamReader oRead = new StreamReader("矩阵求均值.txt",Encoding.Default);
               double v=0;
               char[] ch = new char[1000];
               bool bb = false;
                int b = 0,q=0;
                double [,]a=new double[100,8];
                string[] ss=new string[10000];
               
                for (int i = 0; i < 100; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        a[i,j] =0;
                    }
                
                }
                while (!oRead.EndOfStream)
                {
                    string s = oRead.ReadLine();
                    int ii = 0;
                    ss = s.Split('\n');
                  
                    
                    if (double.TryParse(s,out v))
                    {
                        a[q / 8, b % 8] = v; 
                        b++;
                        q++;
                    } 
                    
                     
                   
                    
                }
             
                for (int i = 0; i < 100; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        Console.Write(a[i, j] + " ");
                    }
                    Console.Write("\n");
                }
                    Console.ReadLine();
            }
        }
    }
      

  5.   


    //txt数组:
    13 13 13 35
    25 25 35 31
    var reader = new StreamReader("input.txt");
    var list = new List<int[]>();
    while (!reader.EndOfStream)
    {
        var line = reader.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        var arr = new int[line.Length];
        for (var i = 0; i < line.Length; i++) arr[i] = Convert.ToInt32(line[i]);
        list.Add(arr);
    }
    var array = list.ToArray();
    Console.WriteLine(array[2][3]);
      

  6.   

    Console.WriteLine(array[2][3]);
    报错   超出索引??怎么回事啊