C# 与控制台程序交互!


 1.

 1  using  System;
 2  using  System.Collections.Generic;
 3  using  System.Linq;
 4  using  System.Text;
 5  using  System.Threading;
 6  using  System.Diagnostics;
 7  namespace  WorkingConsole
 8  {
 9       class  Program
10      {
11           static   void  Main( string [] args)
12          {
13              ProcessStartInfo psi  =   new  ProcessStartInfo( " cmd " );
14              psi.RedirectStandardOutput  =   true ;
15              psi.RedirectStandardInput  =   true ;
16              psi.UseShellExecute  =   false ;
17              Process p  =  Process.Start(psi);
18 
19              p.StandardInput.WriteLine( @" dir c:\ " );
20              p.StandardInput.WriteLine( @" ver " );
21              p.StandardInput.WriteLine( @" exit " );
22 
23               string  output  =  p.StandardOutput.ReadToEnd();
24              p.WaitForExit();
25 
26              Console.WriteLine(output);
27              Console.Read();
28 
29 
30          }
31 
32      }
33  }
34 

 

 

ref:http://blog.csdn.net/Javahaoshuang3394/archive/2009/01/02/3686305.aspx 

 

 1  using  System;
 2  using  System.Collections.Generic;
 3  using  System.Linq;
 4  using  System.Text;
 5  using  System.Threading;
 6  using  System.Diagnostics;
 7  namespace  WorkingConsole
 8  {
 9       class  Program
10      {
11           static   void  Main( string [] args)
12          {
13              Process p  =   new  Process();
14              p.StartInfo.WorkingDirectory  =  Environment.CurrentDirectory;
15              p.StartInfo.Arguments  =   " 2000 " ;
16              p.StartInfo.FileName  =   " CheckLeapYear.exe " ;
17              p.StartInfo.RedirectStandardOutput  =   true ;
18              p.StartInfo.RedirectStandardError  =   true ;
19              p.StartInfo.RedirectStandardInput  =   true ;
20 
21              p.StartInfo.UseShellExecute  =   false ;
22 
23               try
24              {
25                   string  output  =   string .Empty;
26                   string  error  =   string .Empty;
27 
28                  p.Start();
29 
30                  p.StandardInput.WriteLine( @" exit " );
31 
32                  output  =  p.StandardOutput.ReadToEnd();
33                  error  =  p.StandardError.ReadToEnd();
34                  p.WaitForExit();
35 
36 
37                   if  (output  !=   string .Empty)
38                      Console.WriteLine( " Output:{0} " , output);
39 
40                   if  (error  !=   string .Empty)
41                      Console.WriteLine( " Error:{0} " , error);
42 
43                  Console.Read();
44              }
45               catch  (Exception ex)
46              {
47                   throw  ex;
48              }
49               finally
50              {
51                  p.Close();
52              }
53 
54          }
55 
56      }
57  }
58 

 

 

 CheckLeapYear.exe code;

 1  /*
 2   * Created by BpLoveGcy.cnblogs.com
 3   * Gump Yin
 4   * Date: 2010-3-29
 5   * Time: 22:12
 6   * 
 7   * Version:
 8   * CopyRight: http://BpLoveGcy.cnblogs.com/
 9    */
10  using  System;
11 
12  namespace  CheckLeapYear
13  {
14       class  Program
15      {
16           public   static   int  Main( string [] args)
17          {
18               if  (args.Length  !=   1 )
19              {
20                  Console.WriteLine( " Please input correct year number to check! " );
21                   return   0 ;
22              }
23               int  y;
24               if  ( ! int .TryParse(args[ 0 ],  out  y))
25              {
26                  Console.WriteLine( " Please input correct year number! " );
27                   return   0 ;
28              }
29 
30               if  (Year.IsLeap(y))
31              {
32                  Console.WriteLine( " The {0} is leap year! " , y);
33              }
34               else
35              {
36                  Console.WriteLine( " The {0} is not leap year! " , y);
37              }
38               return   1 ;
39          }
40      }
41  }

 

 

Year.IsLeap() code;

 1  /*
 2   * Created by BpLoveGcy.cnblogs.com
 3   * Gump Yin
 4   * Date: 2010-3-29
 5   * Time: 22:13
 6   * 
 7   * Version:
 8   * CopyRight: http://BpLoveGcy.cnblogs.com/
 9    */
10  using  System;
11 
12  namespace  CheckLeapYear
13  {
14       ///   <summary>
15       ///  Description of IsLeapYear.
16       ///   </summary>
17       public   class  Year
18      {
19           public  Year()
20          {
21          }
22           ///   <summary>
23           ///  判定公历闰年遵循的一般规律为:四年一闰,百年不闰,四百年再闰。
24           ///  公历闰年的精确计算方法:(按一回归年365天5小时48分45.5秒)
25           ///  普通年能被4整除而不能被100整除的为闰年。 (如2004年就是闰年,1900年不是闰年)
26           ///  世纪年能被400整除而不能被3200整除的为闰年。 (如2000年是闰年,3200年不是闰年)
27           ///  对于数值很大的年份能整除3200,但同时又能整除172800则又是闰年。(如172800年是闰年,86400年不是闰年)
28           ///  
29           ///  公元前闰年规则如下:
30           ///  非整百年:年数除4余数为1是闰年,即公元前1、5、9……年;
31           ///  整百年:年数除400余数为1是闰年,年数除3200余数为1,不是闰年,年数除172800余1又为闰年,即公元前401、801……年。
32           ///   </summary>
33           ///   <param name="yN"> 年份数字 </param>
34           ///   <returns></returns>
35           public   static   bool  IsLeap( int  yN)
36          {
37 
38               if  ((yN  %   400   ==   0   &&  yN  %   3200   !=   0 )
39                  ||  (yN  %   4   ==   0   &&  yN  %   100   !=   0 )
40                  ||  (yN  %   3200   ==   0   &&  yN  %   172800   ==   0 ))
41                   return   true ;
42               else
43                   return   false ;
44 
45          }
46      }
47  }
48 

 

 

 

 

ref:http://newhappy.blog.51cto.com/381292/135705 

转载于:https://www.cnblogs.com/BpLoveGcy/archive/2010/03/29/1700147.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值