Entwickler-Ecke

Basistechnologien - Konsolenprogramm Variablen bei Start als Parameter


riro - Sa 26.07.08 17:43
Titel: Konsolenprogramm Variablen bei Start als Parameter
Wie kann ich in einer C# Konsolenanwendung Variablen beim Programmaufruf als Parameter definieren?

So das wenn man das Programm z.B. so in der Eingabeaufforderung startet:

programm.exe wert1 wert2 wert3

wert1 als Variable1 definiert wird u.s.w.


Christian S. - Sa 26.07.08 17:47

Hallo!

Die Main-Methode hat den Parameter args, der enthält die Kommandozeilen-Parameter. Bin mir gerade nicht sicher, aber es kann sein, dass das erste Element des Arrays der Programmname selber ist :gruebel:

Grüße
Christian

//edit: Ach ja, :welcome:


lothi - So 17.08.08 22:23

Hallo

Ich glaube nicht. :oops: :roll:

Wenn ich das ausführe ohne einen Parameter gib's eine IndexOutOfRangeException:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine(args[0]);
    }
  }
}


Gruss Lothi


Greenberet - So 17.08.08 22:36

jo in args stehen nur die parameter drinn wenn auch welche übergeben werden.
Falls du den dateinamen brauchst -> "Assembly.GetExecutingAssembly().Location" (System.Reflection)


Kha - Mo 18.08.08 16:14

Und die originale Kommandozeile (Exe + Params) findet sich in Environment.CommandLine.