سؤال

كيف VB.NET حساب طول طريقة?كيف يمكنني القيام بذلك في ج#?

هذا بلدي VB.NET كود:

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

أنا تحويلها إلى ج # على النحو التالي:

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();
    }
}
هل كانت مفيدة؟

المحلول

ربما تكون مرتبكا بين المتغير ZeroPad والطريقة ZeroPad.من المعتاد كتابة أسماء المتغيرات بحرف أولي صغير ، على سبيل المثال. zeroPad.لإرجاع قيمة من طريقة ، استخدم return في ج#.لست متأكدا ما هو الغرض من الخاص بك IsNumeric روتين فرعي أو لماذا تأخذ قيمة بالرجوع إليها ، ولكن التعليمات البرمجية في ج # ستكون مشابهة ل:

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;
}

كما كنت لا تغيير قيم pNumber أو pLength, ، يمكنك تمريرها حسب القيمة (ByVal في البصرية الأساسية).ومع العلم أن كلا pNumber و pLength هي أعداد صحيحة ، وبالتالي رقمية دائما ، يمكن تقصير طريقتك إلى ما يلي:

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;
}

تحتوي مكتبات الفئة الأساسية في إطار العمل الصافي على ملف سلسلة.بادرايت الطريقة التي تفعل بالضبط ما تريد إذا قمت بتحديد '0' كما قيمة ل paddingChar.

نصائح أخرى

في C #، لا تقوم بتعيين اسم الطريقة.بدلا من ذلك، يمكنك استخدام عبارة "العودة".إعلان متغير: giveacodicetagpre.

وبدلا من giveacodicetagpre.

استخدم: giveacodicetagpre.

وفي الماضي retval retval: giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top