Frage

Wie funktioniert VB.NET berechnen Sie die Länge einer Methode?Wie kann ich das in C # machen?

Das ist mein VB.NET Codes:

Private Function ZeroPad(ByRef pNumber As Integer, ByRef pLength As Integer) As String
    Dim Padding As Object
    If IsNumeric(pNumber) And IsNumeric(pLength) Then
        Padding = New String("0", pLength)
        ZeroPad = Padding & CStr(pNumber)
        ZeroPad = Right(ZeroPad, pLength)
    Else
        ZeroPad = CStr(pNumber)
    End If
End Function

Ich habe wie folgt in C # konvertiert:

private string ZeroPad(ref int pNumber, ref int pLength) {
    object Padding;
    if ((IsNumeric(pNumber) && IsNumeric(pLength))) {
        Padding = new string("0", pLength);
        return (Padding + pNumber.ToString());

        ZeroPad = ZeroPad.Substring((ZeroPad.Length - pLength));

        // In the above line, how can I take the length of a method in C#?
    }
    else {
        return pNumber.ToString();
    }
}
War es hilfreich?

Lösung

Sie sind wahrscheinlich verwirrt zwischen der Variablen ZeroPad und die Methode ZeroPad.Es ist üblich, Variablennamen mit einem Kleinbuchstaben-Anfangszeichen zu schreiben, z.B. zeroPad.Um einen Wert von einer Methode zurückzugeben, verwenden Sie return in Deutsch.Ich bin mir nicht sicher, was der Zweck von dir ist IsNumeric unterprogramm oder warum Sie Wert als Referenz nehmen, aber Ihr Code in C # wäre ähnlich wie:

private string ZeroPad(ref int pNumber, ref int pLength)
{
    string padding;
    string zeroPad;
    if ((IsNumeric(pNumber) && IsNumeric(pLength)))
    {
        padding = new string('0', pLength);
        zeroPad = (padding + pNumber.ToString());

        zeroPad = zeroPad.Substring((zeroPad.Length - pLength));
    }
    else
    {
        zeroPad = pNumber.ToString();
    }
    return zeroPad;
}

Da Sie die Werte von nicht ändern pNumber oder pLength, Sie können sie nach Wert übergeben (ByVal b. in Visual Basic).Und zu wissen, dass beide pNumber und pLength sind ganze Zahlen und daher immer numerisch, könnte Ihre Methode wie folgt abgekürzt werden:

private string ZeroPad(int pNumber, int pLength)
{
    string zeroPad;
    string padding = new string('0', pLength);

    zeroPad = (padding + pNumber.ToString());

    zeroPad = zeroPad.Substring(zeroPad.Length - pLength);

    return zeroPad;
}

Die Basisklassenbibliotheken des .NET-Frameworks verfügen über eine Zeichenfolge.PadRight methode, die genau das tut, was Sie wollen, wenn Sie angeben '0' als Wert für paddingChar.

Andere Tipps

in c #, wenden Sie sich nicht dem Methodennamen.Stattdessen verwenden Sie eine "Return" -Anweisung.Deklarieren Sie eine Variable: generasacodicetagpre.

und statt generasacodicetagpre.

Verwendung: generasacodicetagpre.

und endlich retval: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top