我想只执行while循环一次以生成引脚。现在,每当我点击一个按钮时,while循环每次都会生成新的引脚。我只想要一个针脚。 这是我的代码
Guid PinGuid;
byte[] Arr;
UInt32 PINnum = 0;
while(PINnum.ToString().Length != 4)
{
PinGuid = Guid.NewGuid();
Arr = PinGuid.ToByteArray();
PINnum = BitConverter.ToUInt32(Arr, 0);
}
textBox4.Text += PINnum.ToString();
更新:
我找到了解决方案。
string x = "";
Guid PinGuid;
byte[] Arr;
UInt32 PINnum = 0;
while(PINnum.ToString().Length != 4)
{
PinGuid = Guid.NewGuid();
Arr = PinGuid.ToByteArray();
PINnum = BitConverter.ToUInt32(Arr, 0);
}
x = PINnum.ToString();
返回x;
答案 0 :(得分:0)
看到上下文,我认为你应该使用if语句而不是while循环。
只需将SELECT a.a_id, a.a_name, b.b_area
FROM C
JOIN A ON a.a_id = c.a_id
JOIN B ON b.b_id = c.c_id
JOIN D ON d.employee_id = c.employee_id
WHERE d.salary = (SELECT max(salary) FROM D)
更改为while
,看看它是如何运作的。
编辑:实际上,我认为你想在循环期间为PINnum添加一个数字,但是PINnum会不断变化,而不会增加额外的数字。因此,长度将保持为1.我认为在添加新的Pinnum之前将当前值更改为字符串可能最终会有所帮助。
将if
更改为!=
也可能更好,这样,while循环可以正常运行,无需进行任何更改即可继续超过4。
答案 1 :(得分:0)
查看您的代码,您似乎正在尝试生成一个4位数的PIN。
但是你不能在开始时在textbox4中说明什么,所以不确定你的= 4是多么有效(而(PINnum.ToString()。长度!= 4&& textBox4.TextLength == 4 ))。
还有一些其他问题......
因此,如果您正在寻找一个4位数的Pin发生器,请尝试Unique 4 digit random number in c#