首页 > 解决方案 > 来自 txt 文件的多维数组

问题描述

我需要从文本文件创建一个二维数组。

我的文本文件看起来像这样

Name1:Id1:Class1:Status1
Name2:Id2:Class2:Status2

等等

我希望我的多维数组做出这样的事情

array = {{name1,id1,class1,status1},{name2,id2,class2,status2}}

我看过其他与之相关的帖子,但似乎没有帮助,这就是为什么再次发布

标签: c#

解决方案


进入锯齿状阵列非常容易。从交错数组到二维数组只需要一些假设:就像所有行都有相同数量的项目,并且在创建数组时知道有多少行和列。

string.Split将帮助您创建锯齿状数组。一个简单的循环将帮助您创建多维数组。

using System;
using System.Linq;

class Program {
    static void Main(string[] args) {
        string input = @"Name1:Id1:Class1:Status1
Name2:Id2:Class2:Status2";

        var jagged = input
                        .Split(new string[] { Environment.NewLine }, StringSplitOptions.None)
                        .Select(s => s.Split(':').ToArray())
                        .ToArray();

        var multi = new string[jagged.Length, jagged[0].Length];
        for (int i = 0; i < jagged.Length; ++i) {
            for (int j = 0; j < jagged[0].Length; ++j) {
                multi[i, j] = jagged[i][j];
                Console.WriteLine("[{0},{1}] = {2}", i, j, multi[i, j]);
            }
        }
    }
}

推荐阅读