生成大于固定长度的字符串

时间:2010-06-21 13:48:37

标签: vb.net algorithm

在我的应用程序中,生成的字符串长度可以在1到100之间变化(不使用随机数算法)。但我希望如果长度小于7而不是需要添加整数1,2,3 ..直到它的大小达到7.我使用while循环实现它:

If generatedUserName.Length < 7 Then
    Dim count As Int32 = 0
    While generatedUserName.Length < 7
        generatedUserName = generatedUserName & count.ToString()
        count = count + 1
    End While
End If

还有其他更好的方法,比如enbuild函数Tostring()带有一些参数吗?

1 个答案:

答案 0 :(得分:6)

最简单的方法是:

if (generatedUserName.Length < 7)
{
    generatedUserName = (generatedUserName + "1234567").Substring(0, 7);
}

效率稍低,但不太可能造成瓶颈......

另一种选择是:

if (generatedUserName.Length < 7)
{
    string suffix = "1234567".Substring(0, 7 - generatedUserName.Length);
    generatedUserName = generatedUserName + suffix;
}

稍微高效(但可怕)的方式:

private static readonly string[] Suffixes = {
    "1234567", "123456", "12345", "1234", "123", "12", "1"
};
...

if (generatedUserName.Length < 7)
{
    generatedUserName = generatedUserName + Suffixes[generatedUserName.Length];
}