2

アカウント番号をフォーマットするためのこのメソッドを作成しました。

public static  string FormatAccountNumber(string accountNumber)
{
    if (string.IsNullOrEmpty(accountNumber))
        return string.Empty;

    if (accountNumber.Length < 4)
        return "****";
    else
    {
        StringBuilder stringBuilder = new StringBuilder();
        int starLength = accountNumber.Length - 4;

        for (int index = 0; index < starLength; index++)
            stringBuilder.Append("*");

        stringBuilder.Append(accountNumber.Substring(accountNumber.Length - 4));

        return stringBuilder.ToString();
    }
}

これは最適化できますか、それともを使用してすでに最適化されていますStringBuilderか?

4

1 に答える 1

3

以下の方法は、必要なことを実行し、読みやすく、数倍高速に実行されます。それでも、何千回も実行する必要がない場合は、実行時間の違いを確認する必要があります。

    public static string FormatAccountNumber2(string accountNumber)
    {
        if (string.IsNullOrEmpty(accountNumber))
            return string.Empty;

        if (accountNumber.Length < 4)
            return "****";

        return new string('*', accountNumber.Length - 4) +
            accountNumber.Substring(accountNumber.Length - 4);
    }
于 2012-05-24T14:21:35.990 に答える