(抱歉英语不好,我是德语)
所以我得到了读取某些行的代码:
public class ZeilenLesen
{
public static string path1 = @"C:\temp\02\";
public static void ReadLine()
{
try
{
var files = from file in Directory.GetFiles(path1, "Deploytest.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
where line.Contains("]appName")
select new
{
File = file,
Line = line
};
foreach (var app in files)
{
Console.WriteLine("{0}", app.Line);
}
Console.WriteLine("{0} files found.", files.Count().ToString());
}
catch (UnauthorizedAccessException UAEx) //Die Ausnahme, die ausgelöst wird, wenn das Betriebssystem aufgrund eines E/A-Fehlers oder eines bestimmten Typs von Sicherheitsfehler den Zugriff verweigert.
{
Console.WriteLine(UAEx.Message);
}
}
和(Console)给了我一行:[string] appName = XXX
现在,我想添加一条if命令,显示:
if (app.Line != "[string]appName = AAA")
{
Console.WriteLine("appname not the same");
Console.ReadLine();
}
else
{
Console.WriteLine ("appname is okay");
}
(类似的东西)
但是由于某些原因,我无法到达App.Line:名称app在当前上下文中不存在。
答案 0 :(得分:0)
您不能在方法之外编写该代码。
尝试一下。将第二个代码块放入foreach循环中
public class ZeilenLesen
{
public static string path1 = @"C:\temp\02\";
public static void ReadLine()
{
try
{
var files = from file in Directory.GetFiles(path1, "Deploytest.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
where line.Contains("]appName")
select new
{
File = file,
Line = line
};
foreach (var app in files)
{
Console.WriteLine("{0}", app.Line);
if (app.Line != "[string]appName = AAA")
{
Console.WriteLine("appname not the same");
Console.ReadLine();
}
else
{
Console.WriteLine ("appname is okay");
}
}
Console.WriteLine("{0} files found.", files.Count().ToString());
}
catch (UnauthorizedAccessException UAEx) //Die Ausnahme, die ausgelöst wird, wenn das Betriebssystem aufgrund eines E/A-Fehlers oder eines bestimmten Typs von Sicherheitsfehler den Zugriff verweigert.
{
Console.WriteLine(UAEx.Message);
}
}
}