如何从同一个班级获取上下文?

问题描述 投票:1回答:1

(对不起英语不好我是德国人)

所以我得到了这个读出某些行的代码:

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

和(控制台)给我一行:[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:名称应用程序在当前上下文中不存在。

c# console-application
1个回答
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);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.