我想声明(并随机化)大约500个字符串。
我相信我有两个选择:
1:创建一个大小为500的数组。
string[] x = new string[500];
for(int i = 0; i < 500; i++)
{
x[i] = Randomize_thisString(); // Some routine
}
2:声明(并随机化)500个不同的字符串。
string string_one = Randomize_thisString();
string string_two = Randomize_thisString();
string string_n = Randomize_thisString();
...
其中哪一个是更快的方法,并且有人知道第三个选项吗?
谢谢,
埃文
答案 0 :(得分:2)
我将选择第一选择,因为这只会运行一次而且不需要太多时间。
关于如何创建函数来生成随机字符串的想法我将使用System.IO.Path.GetRandomeFileName()
测试代码:
System.IO.Path.GetRandomFileName();
Stopwatch watch = Stopwatch.StartNew();
string[] x = new string[500];
for (int i = 0; i < 500; i++)
{
x[i] = System.IO.Path.GetRandomFileName();
}
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
结果是2。
答案 1 :(得分:0)
只是一个想法。不确定你是否需要预先提供所有500个字符串。
如果您在循环中使用它来执行某些操作,则可以使用yield仅在需要时创建字符串。
public IEnumerable<string> GetRandomString()
{
for(int i=0; i<500; i++)
yield return RandomizeString();
}
答案 2 :(得分:0)
你是什么意思
声明(并随机化)500个不同的字符串。
string a1 = GenerateRandomString();
string a2 = GenerateRandomString();
string a3 = GenerateRandomString();
.
.
.
.
string a500 = GenerateRandomString();
如果是这样,你可以修改this课程
顺便说一下,在两种情况下,程序是逐行执行的,生成字符串所需的时间不应有差异