如何从C#中的文本文件中读取int []?

时间:2014-05-21 09:45:27

标签: c# arrays text integer

我有一个像这样的文本文件“read.txt”

a 1 2 3 4
b 4 6 7 8
c 5 6 7 1
...

在C#中我想定义:

int[] a = {1,2,3,4};
int[] b = {4, 6, 7, 8};
int[] c= {5, 6, 7, 1};
...

我想问一下如何读取所有行并将其放入c#文件中,如上所述

谢谢。

2 个答案:

答案 0 :(得分:1)

我不确定具体目标是什么,但我猜你需要这样的东西:

public Dictionary<string, int[]> GetArraysFromFile(string path)
{
    Dictionary<string, int[]> arrays = new Dictionary<string, int[]>();
    string[] lines = System.IO.File.ReadAllLines(path);
    foreach(var line in lines)
    {
        string[] splitLine = line.Split(' ');
        List<int> integers = new List<int>();
        foreach(string part in splitLine)
        {
            int result;
            if(int.TryParse(part, out result))
            {
                integers.Add(result);
            }
        }
        if(integers.Count() > 0)
        {
            arrays.Add(splitLine[0], integers.ToArray());
        }
    }

    return arrays;
}

这假设你的第一个字母是字母/键。 您将拥有一个字典,其中您的字母是键,值是数组。

答案 1 :(得分:0)

您可以使用以下方法来解决您的任务:

System.IO.File.ReadAllLines   // Read all lines into an string[]
string.Split                  // Call Split() on every string and split by (white)space
Int32.TryParse                // Converts an string-character to an int

要创建ints数组,我将首先在其中创建List<int>Add()每个已解析的整数。您可以在列表上调用ToArray()来获取阵列。