C# C语言中的变量重置#

C# C语言中的变量重置#,c#,C#,我有一个应用程序,我需要一个不断递增的变量 例如: float dataStream = test1 - test2; test0 = dataStream; 但是当数据流重置时,test0也会重置。我怎样才能防止这种情况发生,所以test0保留它以前的数字,以便在dataStream获得数据时添加到test0上?我不能把我的头绕在它周围 编辑: 添加了我的代码截图 代码在一个不断运行的函数中运行,因此+=不能工作,因为它不断递增(超出数据流) 编辑2 dataStream从API中传输数据

我有一个应用程序,我需要一个不断递增的变量

例如:

float dataStream = test1 - test2;

test0 = dataStream;
但是当数据流重置时,test0也会重置。我怎样才能防止这种情况发生,所以test0保留它以前的数字,以便在dataStream获得数据时添加到test0上?我不能把我的头绕在它周围

编辑: 添加了我的代码截图

代码在一个不断运行的函数中运行,因此+=不能工作,因为它不断递增(超出数据流)

编辑2

dataStream从API中传输数据,test0是存储数据的变量

当数据流得到一个新值时,我希望它添加到test0中,但我尝试过的每个方法都会重复

//firstFuelCount - data.Drivetrain.Fuel is the calculation that needs to be added onto test3
//When refueling, firstFuelCount - data.Drivetrain.Fuel decreases, so does test3

test2 = data.Drivetrain.FuelMax - data.Drivetrain.Fuel;
if (test2 < test3)
{
}
else
{
    test3 = data.Drivetrain.FuelMax - data.Drivetrain.Fuel;                    
}
等等


这是一个持续运行的脚本。

设法解决了这个问题。在这个过程中,可能已经有100岁了

            //Only for testing
            var fakeCurrFuelDrive = fakeCurrFuel;

            //Check if the engine is running before calcualting burned lites
            if (data.Drivetrain.EngineRpm >= 50)
            {
                //Ensure variable has data
                if (drivenOldFuel == 0)
                {
                    //Set variable for next check
                    drivenOldFuel = fakeCurrFuelDrive;
                }

                //Distance travelled - refueling
                if ((drivenOldFuel - fakeCurrFuelDrive) < 0)
                {
                    drivenCurrentFuel = fuel + (fakeCurrFuelDrive - drivenOldFuel);
                }

                //Check for refueling
                if ((drivenOldFuel - fakeCurrFuelDrive) > 0)
                {
                    drivenCurrentFuel = fuel + (drivenOldFuel - fakeCurrFuelDrive);
                }

                //Set variable for next check
                drivenOldFuel = fakeCurrFuelDrive;
                fuel = drivenCurrentFuel;
            }
//仅用于测试
var fakeCurrFuelDrive=fakeCurrFuel;
//在计算燃烧的燃油之前,检查发动机是否运转
如果(data.Drivetrain.EngineRpm>=50)
{
//确保变量包含数据
如果(驱动燃油==0)
{
//为下一次检查设置变量
drivenOldFuel=伪造的CurrFuelDrive;
}
//行驶距离-加油
如果((drivenOldFuel-fakeCurrFuelDrive)<0)
{
drivenCurrentFuel=燃油+(fakeCurrFuelDrive-drivenOldFuel);
}
//检查加油情况
如果((drivenOldFuel-fakeCurrFuelDrive)>0)
{
drivenCurrentFuel=燃油+(drivenOldFuel-fakeCurrFuelDrive);
}
//为下一次检查设置变量
drivenOldFuel=伪造的CurrFuelDrive;
燃料=驱动电流燃料;
}

数据流是一个字段还是一个类的属性?代码的屏幕截图不是首选方法:更难阅读,我们不能自己复制并运行它,等等。你应该复制/粘贴你的代码到你的问题中(将代码格式化,前面有四个空格,以便标记识别/格式化为代码),最好是一个你需要帮助的例子。听起来您可能对
test3
的范围和其他变量有问题,所以请关注这一点。请更好地解释您的程序流程。您想将
dataStream
添加到
test0
,但同时又不想添加?我花了一些时间格式化您的代码。我知道你是@LazyCoder,但是当你在这里提问时,你需要花点时间来正确格式化你的代码,以确保可读性。代码需要缩进4个空格,比第一次缩进缩进更多的缩进会降低可读性,降低您收到答案的可能性。你的问题仍然需要改进,因为你没有提供答案。我们需要一个MCVE,因为一些重要的细节,比如变量的声明位置,已经被忽略了。
            //Only for testing
            var fakeCurrFuelDrive = fakeCurrFuel;

            //Check if the engine is running before calcualting burned lites
            if (data.Drivetrain.EngineRpm >= 50)
            {
                //Ensure variable has data
                if (drivenOldFuel == 0)
                {
                    //Set variable for next check
                    drivenOldFuel = fakeCurrFuelDrive;
                }

                //Distance travelled - refueling
                if ((drivenOldFuel - fakeCurrFuelDrive) < 0)
                {
                    drivenCurrentFuel = fuel + (fakeCurrFuelDrive - drivenOldFuel);
                }

                //Check for refueling
                if ((drivenOldFuel - fakeCurrFuelDrive) > 0)
                {
                    drivenCurrentFuel = fuel + (drivenOldFuel - fakeCurrFuelDrive);
                }

                //Set variable for next check
                drivenOldFuel = fakeCurrFuelDrive;
                fuel = drivenCurrentFuel;
            }