c# - 将文本文件中的数据解析为数组

标签 c# winforms c#-4.0

我有一个包含以下数据的平面文本文件;

Following are the names and ages in a text file.
26|Rachel
29|Chris
26|Nathan

数据保存在服务器上(例如 http://domain.com/info.dat ),我想读取此文本文件并将其插入数组(年龄和姓名)中。我想忽略第一行(以下是......)。

我整理了使用 webclient 抓取数据文件的代码和使用 streamreader 打开 dat 文件的代码如下;

using (StreamReader sr = new StreamReader(path))
                {
                    while (sr.Peek() >= 0)
                    {
                        string[] channels = Text.Split('|');

                        foreach (string s in channels)
                        {  

                        }
                    }
                }

上述代码的问题在于将其输入到具有正确列的数组中时。谁能给我一些指示?

非常感谢

最佳答案

使用一些 LINQ 的答案怎么样:

var results = from str in File.ReadAllLines(path).Skip(1)
              where !String.IsNullOrEmpty(str)
              let data = str.Split('|')
              where data.Length == 2
              select new Person { Age = Int32.Parse(data[0], NumberStyles.Integer, CultureInfo.CurrentCulture), Name = data[1] };

results现在是IEnumerable<Person>你可以做什么ToListToArray继续获得 List<Person>Person[] ,或者您可以简单地将结果与 foreach 一起使用循环。

更新:这里是 Person类需要使其更具功能性。

public class Person
{
   public int Age { get; set; }
   public string Name { get; set; }
}

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

相关文章:

c# - 高效地更新 .NET 字典中的绑定(bind)

c# - 获取 C# 类名称列表?

c# - Win 窗体渐变背景和调整大小 c#

asp.net-mvc - ASP.NET MVC 如何在@HTML.ActionLink 中插入其他 html 元素

C# 4.0/EF - SQL Server Compact 不支持服务器生成的键和服务器生成的值

c# - 2D 弹性碰撞不守恒动量

c# - 如何检测图像中的不规则边界?

c# - 在窗体内打开应用程序 - C# 或 VB.NET

c# - LINQ 2 SQL 嵌套表插入错误毫无意义

asp.net-mvc - 如何在Web表单和MVC2应用程序之间共享基于.net(C#)的身份验证 session ?