c# - 将文件中的数据加载并解析到数组中

标签 c# string readfile

我正在尝试将数据从 DAT 文件加载到数组中。

我的数据由多行组成,格式如下:

param_1::param_2::值

我想读取这些数据并将其转换为二维数组(或其他合适的格式),所以我将:

myData[param_1,param_2]=值

目前,我正在尝试使用 StreamReader 将文件读入字符串数组,但不知道如何将数据从字符串转换为我需要的格式。

这是我现在正在使用的阅读部分。我需要做什么才能正确解析数据?

        StreamReader reader = new StreamReader("file.dat");
        string strAllFile = reader.ReadToEnd().Replace("\r\n", "\n").Replace("\n\r", "\n");
        string[] arrLines = strAllFile.Split(new char[] { '\n' });

感谢您的帮助!

最佳答案

您可以执行类似的操作,此 Linq 语句从文件中的每一行返回 param1、param2、value 的集合。

var dataList = File.ReadAllLines("file.dat") // Read lines
        .Select(l=> l.Split(new string[] { "::" }, StringSplitOptions.None)) // split each line
        .Select(l=> new 
               {
                  param1 = l[0],
                  param2 = l]1],
                  value  = l[2]
               })
        .ToList(); 

现在您可以使用迭代列表

foreach(var item in dataList)
{
    // logic here.
    myData[item.param1,item.param2]=item.value

}

关于c# - 将文件中的数据加载并解析到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36246358/

相关文章:

python - 在Python中,.split()行中存在值错误,返回预期的1。添加空格无济于事。 data.txt有问题吗?

c++ - 分隔字符串中的不同数据

java - 找出上述条件的正则表达式

c# - 在 C# 中从 MySQL DB 检索特定值

c# - 用自定义DbSet/IDbSet包裹DbSet <TEntity>吗?

mysql - 创建 View 并用单词替换空值

java - 同时逐行读取两个文本文件-java

c - 读入用 C 打开的 MIPS 文件

c# - CaSTLe.Windsor 3.1 - 组件激活器 : could not proxy <FactoryName>

c# - URL 安全 - 什么被认为是安全的不可猜测的 URL?