役に立ちましたか?

解決

は、変数ZeroPadとメソッドZeroPadの間に混同しています。小文字の初期文字で変数名を書くのは慣習です。 zeroPad。メソッドから値を返すには、C#でreturnを使用します。私はあなたのIsNumericサブルーチンの目的が何であるか、または参照によって価値を取る理由はわかりませんが、C#のコードは次のようになります。

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の値を変更しないように、値ごとに渡すことができます(Visual BasicのByVal)。そして、pNumberpLengthの両方が整数であること、したがって常に数値であることを知っていることを知って、あなたの方法は次のように短縮される可能性があります:

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

.NET Frameworkの基本クラスライブラリには、 string.padright '0'の値としてpaddingCharを指定した場合の方法を正確に行う方法。

他のヒント

C#では、メソッド名に割り当てません。代わりに、 "Return"ステートメントを使用します。変数を宣言してください:

string retVal;
.

の代わりに

ZeroPad = some_value;
.

使用:

retVal = some_value;
.

と最後に戻るRetval:

return retVal;
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top