Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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#_Visual Studio - Fatal编程技术网

C# 如何将手表值存储到程序中的变量中?

C# 如何将手表值存储到程序中的变量中?,c#,visual-studio,C#,Visual Studio,假设我正在调试,我有一个变量 bytes[] x = new byte[]{0x00, 0x01, 0x02} 我对这个变量进行了一些计算,现在在调试器中,我可以看到我的变量x已经改变了。如何复制整个变量x的值并将其用于以后的测试 例如,在“监视”窗口中,经过计算后,x现在是585字节的数组。所以我希望在我的程序中有一个变量 bytes[] newx = new byte{All the 585 bytes here} 我知道我可以选择每个单独的字节,然后一个接一个地复制它以形成一个新的变量

假设我正在调试,我有一个变量

bytes[] x = new byte[]{0x00, 0x01, 0x02}
我对这个变量进行了一些计算,现在在调试器中,我可以看到我的变量x已经改变了。如何复制整个变量x的值并将其用于以后的测试

例如,在“监视”窗口中,经过计算后,x现在是585字节的数组。所以我希望在我的程序中有一个变量

bytes[] newx = new byte{All the 585 bytes here}
我知道我可以选择每个单独的字节,然后一个接一个地复制它以形成一个新的变量,我想知道是否有一种更聪明的方法可以做到这一点


理想情况下,我希望保存该值,并在稍后的地方使用该变量,如单元测试等,因此我真的不想继续执行计算,只是为了得到新的x值。

我不完全理解这个问题,但我会根据我从中得到的回答,所以,您的问题是如何将旧数组中的值存储到新数组中,对吗?如果是这样的话,那么我会使用for循环,但是for循环的问题是,你不能做任何事情来改变数组,只能循环通过它,所以你必须使用一个列表,要做到这一点,你必须使用
System.Collections.Generic
将列表导入脚本

using System.Collections.Generic;

...

bytes[] x = new byte[]{...};
List<bytes> newx = new List<bytes>{};

for(int i=0; i<x.Length; i++){
    newx.Add(x[i]);
}
使用System.Collections.Generic;
...
字节[]x=新字节[]{…};
List newx=新列表{};

对于(int i=0;i序列化变量,从即时窗口将其写入文件,如:

File.WriteAllText(@"path",JsonConvert.SerializeObject(bytes));
然后,当您需要它回来时,只需像

bytes=JsonConvert.DeserializeObject<byte[]>(File.ReadAllText(@"path"));

bytes=Load(“whatevername”);

实际上,您的代码正在处理内存中的字节,当您停止程序时,x和newx将不再存在。我想问的是一种在字段中保留新x值的方法。谢谢,这段代码起到了作用。我想知道Visual Studio是否有一些本机功能可以帮助我们解决这个问题。这听起来是一个非常好的功能o有。我认为这是一种利基功能。当我开发一个新的库并且需要经常手动更改值时,我只需添加一个序列化程序并初始化测试单元上的值。尽管它没有内置的导入器。感谢共享扩展,我肯定会发现它非常有用。
Save(bytes,"whatevername");
bytes=Load<byte[]>("whatevername");