我如何从同一个班级获得背景?

时间:2018-09-11 12:41:02

标签: c# console-application

(抱歉英语不好,我是德语)

所以我得到了读取某些行的代码:

    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在当前上下文中不存在。

1 个答案:

答案 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);
        }
    }
}