Announcement

Collapse
No announcement yet.

Parameter Formatieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Parameter Formatieren

    Hallo,

    Ich möchte mein return string.Format ergänzen, sodass wenn ein Paramter in Main() nicht eingegeben wurde, wird dies mit einem Leeren Paramater ersetzt. zB: Käufer ?? string.Empty

    meine frage ist, wie macht diese Formatierung für Int, long, Datetime

    code Beispiel:

    Code:
    public class Kopfsegment
        {
            public int Segkenn{ get; set; }
            public string DokArt{ get; set; }
            public long lieferant{ get; set; }
            public string RechEmpf{ get; set; }
            public DateTime Date{ get; set; }
            public long Nummer { get; set; }
            public string Käufer { get; set; }
            public DateTime Zeit { get; set; }
            public long Answer { get; set; }
            public int USt_Satz { get; set; }
     
     public Kopfsegment(int Seg, string Dok, long lie, string Rech, DateTime Dat, long Num,string käuf, DateTime temps, long Ans, int USt)
      {
               Segkenn= Seg;
                DokArt = Dok;
                 lieferant = lie;
                RechEmpf = Rech;
                Date = Dat;
            Nummer = Num;
                Käufer = käuf;
                Zeit = temps;
             Answer = Ans;
             USt_Satz = USt; 
    }
      public string ToCsvString()
            {
                try
                {
                    return string.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9};", Segkenn, DokArt ?? string.Empty, Lieferant, RechEmpf string.Empty,Date, Nummer, Käufer ?? string.Empty, Zeit, Answer,USt_Satz);// comment completer le format pourque les differents type de parametres ne soit pas obligé d etre donner dans main()??
    }
      }
       catch (Exception)
                {
     
                    throw;
                }
     static void Main(string[] args)
                {
     
                    List<Kopfsegment> NCC_Kopfsegment;
                    NCC_Kopfsegment = null;
                    NCC_Kopfsegment = new List<Kopfsegment>();
                    NCC_Kopfsegment.Add(new Kopfsegment(100,"83",4027671000005,,new DateTime(2015, 1, 30),,"",,4399901915336,));
    }

    Ich würdedie Parameter wiein der Main ()Funktion geben <

    NCC_Kopfsegment.Add(new Kopfsegment(100,"83",4027671000005,,new DateTime(2015, 1, 30),,"",,4399901915336,));

    >

    Aber bei compilierung bekomme ich die Fehler : Fehlendes Argument (string RechEmpf, long Nummer, Datetime-Zeit undint USt_Satz)

    Frage: Wie kann ich einzelnen Parameter vervollständigen, so dass, wenn diese nicht gegeben ist,dass es durch ein leeres Feld ersetzt werden?Für dieser dieses Beispiel sollte diese code am ende folgende Ausgang geben

    Code:
    100;83;4027671000005;;30.01.2015;;;;4399901915336;;
    Danke

    Lg

  • #2
    Du kannst alle Value Typen in .Net Nullable machen. Einfach ein Fragezeichen an den Typ anhaengen. Dann kannst Du immer abfragen ob fuer eine Variable ein Wert eingegeben wurde oder nicht.

    https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx

    Comment


    • #3
      meine frage ist, wie macht diese Formatierung für Int, long, Datetime
      Was wäre den die Definition von nichts bei int, long. Datetime? Richtig das gibt es erstmal nicht. Jeder Wert in diesen Datentypen ist gültig.

      Du hast 2 Optionen
      a.) Definiere einen der Werte dieser Datentypen als nichts. Zum Beispiel bei int die 0, int.MinValue oder int.MaxValue. Bedenke aber dann kannst du diesen Wert in deinem Datentyp darstellen er bedeutet ja nichts.
      b.) Ändere den Datentyp deiner int,long, DateTime in nullable Typen. Bonuswissen Nullable<T>.ToString() liefert einen Leerstring wenn die Variable null ist.

      Nebenbei reichst du uns die Fragen deines Lehrers, Ausbilders, Professor an dich einfach weiter? Wie immer du solltest auch immer selbst was ausprobieren.

      Crossposting http://www.developpez.net/forums/d15...ode-completer/





      .

      Comment


      • #4
        int? i;
        long? li;
        DateTime? date;
        // ...

        Comment


        • #5
          fanderlf hat dir doch einen Link gepostet. Warum ist es dir nicht möglich dort nachzuschauen?
          Christian

          Comment


          • #6
            Guten Morgen,
            ich habe die lösung schon. ich wollte nur in meiner letzte Nachricht die Lösung postet.
            gruß

            Comment


            • #7
              Danke für die Lösung
              Christian

              Comment

              Working...
              X