我有一个简单的课程,我希望得到以下结果: (到目前为止这是正确的)
Console.WriteLine(f.temp1);
Console.WriteLine(f.temp2);
在我的班级定义中temp1 =姓名; TEMP2 = ID
public class Definitions
{
public string Name { get; set; }
public string Id { get; set; }
}
class Program
{
static void Main()
{
ReadDefinitions();
}
public static void ReadDefinitions()
{
var files = from name in Directory.EnumerateFiles(Settings.Folder)
from id in File.ReadLines(name).Skip(2).Take(1)
select new
{
temp1= Path.GetFileNameWithoutExtension(name),
temp2= id
};
foreach (var f in files)
{
Console.WriteLine(f.temp1);
Console.WriteLine(f.temp2);
}
foreach (var f in files)
{
Console.WriteLine(f.temp1);
Console.WriteLine(f.temp2);
}
}
}
我知道这对于这个临时的东西是愚蠢的,但我无法直接做到这一点。 :(
目标是:
这样我就可以随时在我的程序中访问它们。
(我仍然需要修剪线条的3个左边字符和它的4个右边字符,但是我可能会自己管理它)
答案 0 :(得分:3)
如果理解正确,你只需要这样做
var files = from name in Directory.EnumerateFiles(Settings.Folder)
select new
{
temp1= Path.GetFileNameWithoutExtension(name),
temp2= File.ReadLines(name).Skip(2).First()
};
如果你想跳过临时的东西,你可以:
var files = from name in Directory.EnumerateFiles(Settings.Folder)
select new Definitions
{
Name = Path.GetFileNameWithoutExtension(name),
Id = File.ReadLines(name).Skip(2).First()
};