1

我编写了一个 C# 程序来管理不同的文本文件并检索数据、比较字段等。

我的程序是将 txt 文件中的数据存储到具有不同字段(例如文件名、文件长度、包含的行等)的结构数组中。例如一个文件可以是

    Name1    ID1    Lenght1    Path1    User1
    Name2    ID1    Lenght2    Path1    User4
    Name3    ID2    Lenght2    Path3    User1
    ...

我把这些字段放在一个结构数组中

           NAME     ID     LENGHT     PATH     USER

    [0]    Name1    Id1    Lenght1    Path1    User1
    [1]    Name2    Id1    Lenght2    Path1    User4
    [2]    Name3    Id2    Lenght2    Path3    User1
    ...

而且我必须检索具有特定角的整行,例如,我想要所有具有 NAME=Name2 和 PATH=Path1 的行。在前面的示例中,我检索用 [1] 索引的结构。

当要分析的数据增长时,我需要尽快获得这种数据。

实际上这个想法是有一个循环并比较结构中的所有字段并保存尊重角落的行(例如NAME = Name2 AND PATH = Path1)的for循环。不幸的是,这种方法太长了,不能接受。你有什么建议吗?

4

1 回答 1

1

假设您有一个自定义类型的数组,您可以使用 LINQ 过滤您的数组:

var items = yourArray
    .Where(x => x.Name == "Name2" && x.Path == "Path2");

假设yourArray是这样的:

public class MyType
{
    public string Name { get; set; }
    public string ID { get; set; }
    public string Path { get; set; }
    public string User { get; set; }
}

然后你可以从你的文本文件中读取并输入你的类型。

于 2013-09-26T14:55:49.767 回答