我编写了一个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 AND PATH = Path1。在前面的例子中,我检索用[1]索引的结构。
当需要分析的数据增长时,我需要尽快获得此类数据。
实际上,这个想法是让一个for循环循环并比较结构中的所有字段并保存与角相关的行(例如NAME = Name2 AND PATH = Path1)。不幸的是,这种方法很长,不可接受。你有什么建议吗?
答案 0 :(得分: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; }
}
然后你可以从你的文本文件中读取你的类型。