C#中static void Main(string[] args) 参数示例详解

 学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World!

using System;
namespace DemoMainArgs
{
 class Program
 {
 static void Main(string[] args)
 {
  Console.WriteLine("Hello World!");
  Console.ReadLine();
 }
 }
}
  1. static:是将Main方法声明为静态, 是应用程序的入口。
  2. void:说明main方法不会返回任何内容。
  3. string[]args:这是用来接收命令行传入的参数。string[]是声明args的数据类型,可以存储字符串数组。

通过cmd.exe程序来启动上述程序时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是在命令窗口输入的参数, 也就是命令行参数。

args是用来接收命令行参数的。它是可选项,不是必须的。

下面通过一个具体的示例程序来说明。

1. 新建控制台程序DemoMainArgs。

2. 编写代码。

using System;
namespace DemoMainArgs
{
 class Program
 {
 /// <summary>
 /// 应用程序入口
 /// </summary>
 /// <param name="args">接收命令行传入的参数(多个参数之间用空格分开)</param>
 static void Main(string[] args)
 {
  if(args != null)
  {
  int argsLength = args.Length;
  Console.WriteLine("Main函数参数args的长度:" + argsLength);
  for(int i = 0;i < argsLength;i++)
  {
   Console.Write("第" + (i + 1) + "个参数是:");
   Console.WriteLine(args[i]);
  }
  }
  Console.ReadLine();
 }
 }
}

3. 按下F6编译,生成DemoMainArgs.exe文件。 切记不是F5编译并运行!!!

 下面通过3种方式来展示具体效果

  方式一 :命令行中启动程序并输入参数 

打开命令行,输入路径+DemoMainArgs,空一个,再输入 a b c d(可以输入任意多个参数,多个之间用空格分隔)

Enter回车查看结果:

   方式二:编译前输入参数 

右键点击【项目】--》【属性】,弹出配置界面。选择【调试】--》【启动选项】--》【命令行参数】文本框中输入任意的参数,多个之间用空格分隔

按下F5编译并运行,直接看到输出

   方式三:通过在程序的快捷方式中增加参数 

程序编译后,创建快捷方式程序。右键点击【DemoMainArgs.exe】--》【创建快捷方式】

产生了快捷方式文件,如下:

右键点击【DemoMainArgs.exe 快捷方式】--》【属性】--》【快捷方式】--》【目标】,在文本框的最后输入任意参数,

多个之间用空格分开

双击【DemoMainArgs.exe 快捷方式】,运行结果如下

总结:第3种方式比较灵活,可以由客户端(使用者)自由输入特点范围内的参数,然后程序根据输入的参数来判断执行不同的业务逻辑。

(0)

相关推荐

  • 浅析C#中的Main(String[] args)参数输入问题

    指定相关的测试代码 首先,写一个用于测试的关于Main(String[] args)参数输入有关的代码类,如下: 复制代码 代码如下: using System; public class Hello{    public static void Main(String[] args)    {        switch (args[0])        {            case "老板":                Console.WriteLine("早上

  • C#中static void Main(string[] args) 参数示例详解

    学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World! using System; namespace DemoMainArgs { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.ReadLine(); } } } static:是将Main方法声明为静态, 是应用程序的入口. void:说明main方法不会返回任何内容. s

  • 实例分析Java中public static void main(String args[])是什么意思

    本文实例讲述了Java中public static void main(String args[])的来龙去脉.分享给大家供大家参考,具体如下: public static void main(String[] args) 这绝对不是凭空想出来的,也不是没有道理的死规定,而是java程序执行的需要. jvm在试图运行一个类之前,先检查该类是否包含一个特殊方法.这个方法必须是公有的,以便在任何位置都能访问得到.这个方法必须是static的,因为这个方法不能依赖任何该类的实例即可运行,而非stati

  • C#中参数数组、引用参数和输出参数示例详解

    前言 本文主要介绍了关于C#参数数组.引用参数和输出参数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 参数数组 在C#中,可以为函数指定一个不定长的参数,这个参数是函数定义中的最后一个参数,这个参数叫做参数数组. 下面是一个例子: namespace Ch6Ex2 { class Program { static int SumVals(params int[] vals) { int sum = 0; foreach (int val in vals) { sum

  • Java中Object.equals和String.equals的区别详解

    前言 Java中的堆和常量池的区别是什么呢?Object.equals与String.equals的区别呢?下面让我妈通过一个小示例让你明白它- 1.基础知识 Java的存储空间:寄存器.栈.堆.静态存储区.常量存储区(常量池).其他存储位置. 此处重点介绍堆和常量存储区: 堆:存储new的对象; 常量池:用来存储final static.String的常量. 2.Object.equals与String.equals的区别 Object.equals(==):比较内存地址: String.eq

  • java中最易犯错的特殊字符示例详解

    问题背景 能准确说出下面的java 执行完毕后会打印出什么? System.out.println( String.class.getName()+ ".class"); System.out.println( String.class.getName(). replaceAll(".","/") + ".class"); 相信对于第一行,大部分人不会犯错,打印 java.lang.String.class 我们想使用/去分割

  • java中常见的6种线程池示例详解

    之前我们介绍了线程池的四种拒绝策略,了解了线程池参数的含义,那么今天我们来聊聊Java 中常见的几种线程池,以及在jdk7 加入的 ForkJoin 新型线程池 首先我们列出Java 中的六种线程池如下 线程池名称 描述 FixedThreadPool 核心线程数与最大线程数相同 SingleThreadExecutor 一个线程的线程池 CachedThreadPool 核心线程为0,最大线程数为Integer. MAX_VALUE ScheduledThreadPool 指定核心线程数的定时

  • .NET 中配置从xml转向json方法示例详解

    目录 一.配置概述 二.配置初识 三.选项模式 四.选项依赖注入 五.其它配置 六.托管模式 一.配置概述 在.net framework平台中我们常见的也是最熟悉的就是.config文件作为配置,控制台桌面程序是App.config,Web就是web.config,里面的配置格式为xml格式. 在xml里面有系统生成的配置项,也有我们自己添加的一些配置,最常用的就是appSettings节点,用来配置数据库连接和参数. 使用的话就引用包System.Configuration.Configur

  • Java中四种线程池的使用示例详解

    在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及"过度切换". 本文详细的给大家介绍了关于Java中四种线程池的使用,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: FixedThreadPool 由Executors的newFixedThreadPool方法创建.它是一种线程数量固定的线程

  • React.memo函数中的参数示例详解

    目录 React.memo?这是个啥? React.memo的第一个参数 父组件 子组件 React.memo优化 React.memo的第二个参数 父组件 子组件 React.memo优化 父组件 子组件 小结 React.memo?这是个啥? 按照官方文档的解释: 如果你的函数组件在给定相同 props 的情况下渲染相同的结果,那么你可以通过将其包装在 React.memo 中调用,以此通过记忆组件渲染结果的方式来提高组件的性能表现.这意味着在这种情况下,React 将跳过渲染组件的操作并直

随机推荐