如何在c#中从文本文件中读取int[]

本文关键字:读取 int 文件 文本 | 更新日期: 2023-09-27 18:04:18

我有一个像这样的文本文件"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#文件

谢谢。

如何在c#中从文本文件中读取int[]

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

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()来获得您的数组。

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

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;
}

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