C# 调试窗口中的局部变量

C# 调试窗口中的局部变量,c#,visual-studio,debugging,f#,visual-studio-debugging,C#,Visual Studio,Debugging,F#,Visual Studio Debugging,我无法在MS Visual Studio的“局部变量”窗口中看到局部变量result,所有其他变量及其类型都显示得很好 控件已经位于第33行,但我看不到第29行的效果(请参阅图片) 第28行和第29行的代码 let dataContractJsonSerializer = new DataContractJsonSerializer(typeof<List[]>) let result = (dataContractJsonSerializer).ReadObject(memoryS

我无法在MS Visual Studio的“局部变量”窗口中看到局部变量
result
,所有其他变量及其类型都显示得很好

控件已经位于第33行,但我看不到第29行的效果(请参阅图片)

第28行和第29行的代码

let dataContractJsonSerializer = new DataContractJsonSerializer(typeof<List[]>)
let result = (dataContractJsonSerializer).ReadObject(memoryStream) :?> List[]
让dataContractJsonSerializer=新的dataContractJsonSerializer(typeof)
让结果=(dataContractJsonSerializer).ReadObject(memoryStream):?>List[]
编辑-根据更多代码的请求

[<DataContract>]
type List= {
    [<field: DataMemberAttribute(Name="href") >]
    Href: string
}
[]
类型列表={
[]
Href:string
}
服务电话

let response = request.GetResponse() :?> HttpWebResponse
use reader = new StreamReader(response.GetResponseStream())
use memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(reader.ReadToEnd()))
let result = (new DataContractJsonSerializer(typeof<List[]>)).ReadObject(memoryStream) :?> List[]
let response=request.GetResponse():?>HttpWebResponse
使用reader=newstreamreader(response.GetResponseStream())
use memoryStream=new memoryStream(Encoding.UTF8.GetBytes(reader.ReadToEnd()))
让结果=(新的DataContractJsonSerializer(typeof)).ReadObject(memoryStream):?>List[]

更新:由于优化,它看起来没有出现

引用自:“优化的效果是删除与变量z相关的代码,这是从未使用过的。还要注意,局部变量窗口不包含变量z的节点。”

private void InitializeComponent(){
...
int j=10,k=20,z=0;
对于(int i=0;i<10;i++){
z=j+k;
btnNumbers[i]。大小=新大小(30,30);
btnNumbers[i]。单击+=新建系统.EventHandler(btnNumbersClicked);
}
...
如果可以,请粘贴完整的代码,而不仅仅是两行

话虽如此,这对我来说很有用。你可能把
DataContracts
DataMember
从你的课堂上遗漏了


如果将鼠标悬停在结果上会发生什么?除了
结果
之外,其他所有存储类型都会显示工具提示。这是因为优化。
结果
在编译代码中不存在。是因为它是返回结果吗?在调用方级别使用断点,我可以在上面看到它添加了更多内容,您对不同之处有何看法ce?我应用了一个强制转换,但你也没有,其次你使用的是c,我使用的是f,所以可能是编译器根据@Fyodor SoikinYes进行优化,这是正确的。我只是想在得出结论之前看看你所有的代码。我也反映了我的答案。检查一下这里:我在答复
private void InitializeComponent() {
...
  int j = 10, k = 20, z = 0;
  for (int i = 0; i < 10; i++) {
    z = j+k;
    btnNumbers[i].Size = new Size(30, 30);
    btnNumbers[i].Click += new System.EventHandler(btnNumbersClicked);
 }
...