조회 수 24525 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print


Program.cs의 Main을 변경함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static class Program
{
    /// <summary>
    /// 해당 응용 프로그램의 주 진입점입니다.
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
        foreach (string arg in args)
        {
            Console.WriteLine(arg);
        }
        ....
    }
}




Parsing은  NDesk.Options (Documentation) 또는  Mono.Options을 사용하는 것이 아주 좋음

http://www.ndesk.org/doc/ndesk-options/

https://github.com/mono/mono/blob/master/mcs/class/Mono.Options/Mono.Options/Options.cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
bool show_help = false;
List<string> names = new List<string> ();
int repeat = 1;
 
var p = new OptionSet () {
    { "n|name=", "the {NAME} of someone to greet.",
       v => names.Add (v) },
    { "r|repeat=",
       "the number of {TIMES} to repeat the greeting.\n" +
          "this must be an integer.",
        (int v) => repeat = v },
    { "v", "increase debug message verbosity",
       v => { if (v != null) ++verbosity; } },
    { "h|help""show this message and exit",
       v => show_help = v != null },
};
 
List<string> extra;
try {
    extra = p.Parse (args);
}
catch (OptionException e) {
    Console.Write ("greet: ");
    Console.WriteLine (e.Message);
    Console.WriteLine ("Try `greet --help' for more information.");
    return;
}



Command Line Parser Library ( http://commandline.codeplex.com/ ) 도 있음.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Options
{
    [Option("i", "input", Required = true, HelpText = "Input file to read.")]
    public string InputFile { get; set; }
 
    [Option(null, "length", HelpText = "The maximum number of bytes to process.")]
    public int MaximumLenght { get; set; }
 
    [Option("v", null, HelpText = "Print details during execution.")]
    public bool Verbose { get; set; }
 
    [HelpOption(HelpText = "Display this help screen.")]
    public string GetUsage()
    {
        var usage = new StringBuilder();
        usage.AppendLine("Quickstart Application 1.0");
        usage.AppendLine("Read user manual for usage instructions...");
        return usage.ToString();
    }
}



Examples


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
 
class Program
{
    static void Main(string[] args)
    {
    if (args == null)
    {
        Console.WriteLine("args is null"); // Check for null array
    }
    else
    {
        Console.Write("args length is ");
        Console.WriteLine(args.Length); // Write array length
        for (int i = 0; i < args.Length; i++) // Loop through array
        {
        string argument = args[i];
        Console.Write("args index ");
        Console.Write(i); // Write index
        Console.Write(" is [");
        Console.Write(argument); // Write string
        Console.WriteLine("]");
        }
    }
    Console.ReadLine();
    }
}

==> Output


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
"C:\ConsoleApplication1.exe" a b c
args length is 3
args index 0 is [a]
args index 1 is [b]
args index 2 is [c]
 
"C:\ConsoleApplication1.exe" a                 b           c
args length is 3
args index 0 is [a]
args index 1 is [b]
args index 2 is [c]
 
"C:\\ConsoleApplication1.exe" http://www.dotnetperls.com/
args length is 1
args index 0 is [http://www.dotnetperls.com/]
 
"C:\ConsoleApplication1.exe" "Literal      test "
args length is 1
args index 0 is [Literal      test ]



Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
376 Pi ftp 설정하기 2015.10.01 13876 0
375 Pi ftp 포트 변경하기 2015.10.01 15649 0
374 PHP GD 라이브러리 간단 2014.07.09 16930 0
373 PHP GD 및 이미지 함수 정리 2014.07.09 19836 0
372 Android gdb commands 2015.03.11 15033 0
371 LINUX gdb 쓸때 상용구 secret 2019.06.26 0 0
370 Android Gerrit 검색 쿼리 도움말 2012.04.30 24883 0
369 Android git archive 를 사용해서 폴더를 .git 제외하고 tar 나 zip 으로 묶기 1 2019.02.10 14471 0
368 Android git log 옵션들 2015.01.09 36431 0
367 Android git 기초 - 원격 저장소 만들고 로그인하기, 소스 되돌리기 2016.10.29 18020 0
366 Android Git 사용자 설명서 2012.04.24 23004 0
365 Android Git 특정 commit 상태로 되돌리고 SHA1 값 알아내기 2015.05.13 13054 0
364 Python Google Colab에서 파일 업로드/다운로드 팁 2019.03.06 42692 0
363 업무 H&A본부 교육 중 IoT / 로봇 관련 내용 secret 2016.08.29 0 0
362 C# Hashtable 정렬하기 2012.12.11 23274 0
목록
Board Pagination ‹ Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 35 Next ›
/ 35

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

불러오는 중···