【问题标题】:List not updating in .NET列表未在 .NET 中更新
【发布时间】:2020-08-21 11:41:40
【问题描述】:

我试图更新一个列表。我在调试模式下尝试了代码,并且代码执行没有任何错误。但该值未更新。为什么会这样?我已经分享了下面的代码。

foreach (var r in respondents)
            {
                foreach(var v in completesMap.VendorView)
                {
                    if(v.Value.Contains(r.Status))
                    {
                        r.Status=v.Key;
                        break;
                    }
                }
                
            }

completesMap.VendorView 是我在 appsettings.json 文件中硬编码的键值对,响应者是 Dto

【问题讨论】:

  • 如果你在r.Status=v.Key;这一行设置断点会被命中吗?
  • 是的.. 那行代码正在执行。但值没有改变。
  • 可能是v.Keyr.Status 相同?
  • 不。我检查了不同的值
  • 如果有人向您证明该代码有效,但您看不到它有效,那么问题是......其余的代码,即您没有显示的代码,因为那代码的一部分,您正在显示的代码正在运行。在哪里可以看到值没有更新?

标签: c# .net asp.net-core asp.net-web-api


【解决方案1】:

我已经使用您的代码创建了一个示例,它可以工作。 你可以看到它是如何工作的at this link。您还可以将该代码复制并粘贴到您的 IDE 并对其进行调试,看看它是否也可以在您的机器上运行。

【讨论】:

  • 感谢您的努力..但这对我不起作用..
  • 您的意思是,如果您将相同的代码从我的链接复制并粘贴到您的机器上,它就不起作用?
  • 这段代码运行良好。 @Roby A,您应该检查代码并与您的代码比较缺少的内容。
【解决方案2】:

工作代码

        List<Respondent> respondents = new List<Respondent>()
        {
            new Respondent { Status = "Active"},
            new Respondent { Status = "Active"},
            new Respondent { Status = "InActive"},
        };

        var completesMap = new Map
        {
            VendorView = new List<VendorView>()
            {
                new VendorView{ Value = "This is Active" , Key = "Key1" },
                new VendorView{ Value = "this is not active", Key = "Key2" }
            }
        };
        
        foreach (var r in respondents)
        {
            foreach (var v in completesMap.VendorView)
            {
                if (v.Value.Contains(r.Status))
                {
                    r.Status = v.Key;
                    break;
                }
            }

        }

        var x = respondents[1].Status;

调试器输出

【讨论】:

  • 您仍然面临问题,请分享您的完整方法代码和模型详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 2018-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
  • 1970-01-01
相关资源
最近更新 更多