调试工作版本,显示其他详细信息C#
我正在调试一个函数,它向我显示了良好的结果,如果我在发布时测试它,它会显示不同的结果 这是:调试工作版本,显示其他详细信息C#,c#,.net,C#,.net,我正在调试一个函数,它向我显示了良好的结果,如果我在发布时测试它,它会显示不同的结果 这是: int index = 0; char[] result = new char[input.Length]; for (int i = 0; i < input.Length; i++) { System.Random RandNum = new System.Random(); int MyRando
int index = 0;
char[] result = new char[input.Length];
for (int i = 0; i < input.Length; i++)
{
System.Random RandNum = new System.Random();
int MyRandomNumber = RandNum.Next(0, 100);
if ((input[i] == '|') && (MyRandomNumber < 35))
{
result[index++] = ' ';
}
else
result[index++] = input[i];
}
return new string(result, 0, index);
int索引=0;
char[]结果=新字符[input.Length];
for(int i=0;i
我有一个字符串,例如:“how | you's | doing | today”,我想将35%的|字符替换为“”(空格)
例如,在调试过程中,它会显示:您今天做得怎么样,在发布中,您今天做得怎么样,或者您今天做得怎么样
你觉得怎么样
如果您还有其他建议,我愿意接受。您的问题几乎肯定与您创建随机数的方式有关。如果您创建了一个新的System.Random,但未向其传递种子,它将使用当前时间。如果这种情况发生得足够快,新对象将使用相同的种子创建,因此将为每个随机数提供相同的数字 要解决此问题,请按如下方式更改代码:
int index = 0;
char[] result = new char[input.Length];
System.Random RandNum = new System.Random();
for (int i = 0; i < input.Length; i++)
{
int MyRandomNumber = RandNum.Next(0, 100);
if ((input[i] == '|') && (MyRandomNumber < 35))
{
result[index++] = ' ';
}
else
result[index++] = input[i];
}
return new string(result, 0, index);
int索引=0;
char[]结果=新字符[input.Length];
System.Random RandNum=new System.Random();
for(int i=0;i
也许其他人可以解释为什么这只发生在发行版中,那部分我真的不明白。调试需要更长的时间,所以种子是不同的 你的问题几乎肯定与你创建随机数的方式有关。如果您创建了一个新的System.Random,但未向其传递种子,它将使用当前时间。如果这种情况发生得足够快,新对象将使用相同的种子创建,因此将为每个随机数提供相同的数字 要解决此问题,请按如下方式更改代码:
int index = 0;
char[] result = new char[input.Length];
System.Random RandNum = new System.Random();
for (int i = 0; i < input.Length; i++)
{
int MyRandomNumber = RandNum.Next(0, 100);
if ((input[i] == '|') && (MyRandomNumber < 35))
{
result[index++] = ' ';
}
else
result[index++] = input[i];
}
return new string(result, 0, index);
int索引=0;
char[]结果=新字符[input.Length];
System.Random RandNum=new System.Random();
for(int i=0;i
也许其他人可以解释为什么这只发生在发行版中,那部分我真的不明白。调试需要更长的时间,所以种子是不同的 您正在以错误的方式使用System.Random。您的种子值每次都相同。你知道即使你修改了代码也不能保证它会用空格替换35%的字符,对吗?你最好做一个小的随机数。你用的是不正确的方式。您的种子值每次都相同。你知道即使你修改了代码也不能保证它会用空格替换35%的字符,对吗?你最好做一个小的随机数。