Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表单关闭时重复相同值的变量_C# - Fatal编程技术网

C# 表单关闭时重复相同值的变量

C# 表单关闭时重复相同值的变量,c#,C#,我声明了一个名为paymentId的变量。当我打开windows窗体时,此paymentId被初始化为某个值,我可以添加付款黄油、面包等,保存到数据库并关闭窗体。关闭表单后,我想打开表单,以便添加另一笔付款等。。但是paymentId没有改变,相同的paymentId保存在数据库中 public partial class PaymentAutoPayment : Form { int firstRun = 0; double total = 0; public stat

我声明了一个名为paymentId的变量。当我打开windows窗体时,此paymentId被初始化为某个值,我可以添加付款黄油、面包等,保存到数据库并关闭窗体。关闭表单后,我想打开表单,以便添加另一笔付款等。。但是paymentId没有改变,相同的paymentId保存在数据库中

public partial class PaymentAutoPayment : Form
{
    int firstRun = 0;
    double total = 0;
    public static Random rnd = new Random();
    String cashierId = "";
    public static int randomString = rnd.Next(9999, 99999)
    string paymentId = "RecId-" + randomString.ToString();

公共静态int randomString是静态的。它只初始化了一次

public static int randomString = rnd.Next(9999, 99999);
不管你现在多次将相同的int值转换成字符串,它仍然是相同的int

string paymentId = "RecId-" + randomString.ToString();
试试这个:

string paymentId = "RecId-" + rnd.Next(9999, 99999).ToString();
这被声明为静态的,在整个程序运行时只执行一次,并且从不更改。改用:

string paymentId = "RecId-" + rnd.Next(9999, 99999).ToString();

如果我把它拿掉,我就会出错。字段初始值设定项无法引用非静态字段、方法或属性。如果我从声明中删除static,则我将获得错误。字段初始值设定项不能引用我在发布之前尝试过的非静态字段、方法或属性。@Elias我不是说你应该删除静态字段吗?
string paymentId = "RecId-" + rnd.Next(9999, 99999).ToString();