c# 读取txt 并拆分为二维数组出错 请指点
c# 读取txt 并拆分成二维数组出错 请指点
我的数据格式如下:
我另存为文本文档然后
第一种方法
第二种方法
两种方法都在测试的时候,代码运行到最内层的循环时提示我 未将对象引用设置到对象的实例。
求指点
------解决方案--------------------
你的mylist是怎么定义的?
------解决方案--------------------
试试这样
我的数据格式如下:
- C# code
111111 2222222 33333 44444 55555555 66666 77777 888888 999999 00000 aaaa bbbb ccccc ddddd eeeee fffff ggggg hhhhh jjjjj kkkk
我另存为文本文档然后
第一种方法
- C# code
string myfile = mypath + "\\atm.txt"; string[] mytmpstring = File.ReadAllLines(myfile,Encoding.Default); string[] mybh = null; string[] array2 = null; for (int i = 0; i < mytmpstring.Length; i++) { array2 = mytmpstring[i].Split('\t'); for (int j=0; j < array2.Length; j++) { mylist[i][j] = array2[j] ; } }
第二种方法
- C# code
string myfile = mypath + "\\atm.txt"; string[] mytmpstring = File.ReadAllLines(myfile,Encoding.Default); //string[] mylistf = mytmpstring.Split("\r\n"); string[] mybh = null; for (int i = 0; i < mytmpstring.Length; i++) { foreach (string s in mytmpstring) { mybh = s.Split('\t'); foreach(string t in mybh) { for (int y=0; y < mybh.Length; y++) { mylist[i][y] = t; } } } }
两种方法都在测试的时候,代码运行到最内层的循环时提示我 未将对象引用设置到对象的实例。
求指点
------解决方案--------------------
你的mylist是怎么定义的?
------解决方案--------------------
试试这样
- C# code
string[] mytmpstring = File.ReadAllLines(myfile, Encoding.Default); string[] mybh = null; string[] array2 = null; int first = mytmpstring.Length; string[][] mylist = new string[first][]; for (int i = 0; i < mytmpstring.Length; i++) { array2 = mytmpstring[i].Split('\t'); mylist[i] = new string[array2.Length]; for (int j = 0; j < array2.Length; j++) { mylist[i][j] = array2[j]; } }
------解决方案--------------------
另外,你的那个数据用
mytmpstring[i].Split('\t');
貌似不妥
换成这个看
array2 = mytmpstring[i].Split(' ');
------解决方案--------------------
你是要二维数组还是嵌套数组,如果是 string[][] 这样的嵌套数组
- C# code
string[] lines = File.ReadAllLines("路径"); string[][] mylist = new string[lines.Length][]; for (int i = 0; i < lines.Length; i++) { mylist[i] = lines[i].Split('\t'); }