using System;
using System.Data;
using System.Diagnostics;
using System.Text.RegularExpressions;
public class Logtest
  {
    public static void Main(String[] args)
{
  string machine = ".";
  string log = "system"; 
  EventLog aLog = new EventLog();
  aLog.Log = log;
  aLog.MachineName = machine;
  int Num = aLog.Entries.Count;
  Console.WriteLine("total"+Num.ToString());
          //输出source为print的Message
  While(aLog.Entries.Source=="print")
            {

foreach (EventLogEntry entry in aLog.Entries)
{
Console.WriteLine("\t项:{0}", entry.Message);
}
    }    
        }   }

解决方案 »

  1.   

    加了ToString()还是不行,错误说要加个";" .
      

  2.   

    是不是要改成: While("print".Equal(aLog.Entries.Source)),在字符串比较的时候不能用“==”。
      

  3.   

    晕,搂主想干什么?
    把你要干什么讲清楚啊,你是不是要aLog.Entries.Source=="print"时循输出?
      

  4.   

    对不起,没写明白,就是想循环输出source 为"print"的message !
      

  5.   

    改成如下,编译可通过,可是只有第一个Console.WriteLine 有输出,第二个Console.WriteLine没有!using System;
    using System.Data;
    using System.Diagnostics;
    using System.Text.RegularExpressions;
    public class logtest
      {
        public static void Main(String[] args)
    {
      string machine = ".";
      string log = "system"; 
      EventLog aLog = new EventLog();
      aLog.Log = log;
      aLog.MachineName = machine;
      int Num = aLog.Entries.Count;
      Console.WriteLine("total"+Num.ToString());
         while(aLog.Source.ToString().Equals("Print"))
                

    {  foreach (EventLogEntry entry in aLog.Entries)
              {
    Console.WriteLine("\t项:{0}", entry.Message);
              }
    }
           
            }
    }