所以我在.Net Core中构建这个代码,它的工作非常好 但是当我在.NetFramework中使用这个代码时,它真的很慢而且没有加快步伐
static int wichOneIsBigger(Random rand, int number)
{
//65-90 (Upper) 97 122 (Lower)
Exception e = new Exception("Number must be 0 for lower case and 1 for upper case");
if (number != 0 && number != 1)
throw e;
else
if (number == 0)
return rand.Next(97, 122);
else
return rand.Next(65 - 90);
}
static void Main()
{
string txt = null;
Random rand = null;
int length = 0;
Console.WriteLine("Please type a number that is above 1: ");
txt = Console.ReadLine();
length = Convert.ToInt32(txt);
string[] words = new string[length];
for (int i = 0; i < length; i++)
{
rand = new Random();
int characters = rand.Next(4, 10);
int randCharacter = 0;
int wichOne = 0;
string word = "";
for (int num = 0; num < characters; num++)
{
wichOne = rand.Next(0, 1);
randCharacter = wichOneIsBigger(rand, wichOne);
word += Convert.ToChar(randCharacter);
}
words[i] = word;
}
foreach (string item in words)
Console.WriteLine(item);
GC.Collect();
Console.ReadKey();
}
当我使用.Net Core时,它给我这个结果,例如长度为5:
gaerantd
dxunjxtw
gevnyiqb
xhpsvfqu
gnnkaulxg
但是当我使用.Net Framework时,它给了我这个
aist
aist
aist
aist
aist
为什么在.Net Framework中它不会加快步伐? 我没有编程2。5年,我不记得.Net Framework是这么慢
顺便问一下你们对我的代码有任何建议吗? 我可以写得更好等吗?
感谢您的帮助:)
答案 0 :(得分:0)
这一行:rand = new Random();
在你的循环中写的可能不是随机的,我不认为它与缓慢有关吗?将您的代码更改为以下内容:
static Random rand = new Random();
static void Main()
{
//..etc
}
答案 1 :(得分:-1)
最有可能的原因是.Net Core是.Net的精简版本,因此排除了很多软件包。对于大多数应用程序,如果您可以使用.Net Core,它可能会更快。