在我的应用程序中,生成的字符串的长度可以从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
还有其他更好的方法吗,比如用一些参数创建函数tostring()?
最佳答案
最简单的方法是:
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];
}