首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >statusFinal值从9:00到9:45为空。

statusFinal值从9:00到9:45为空。
EN

Stack Overflow用户
提问于 2022-11-24 06:39:34
回答 1查看 63关注 0票数 -1

我试图通过比较两个字符串时间值来显示产品的statusFinal值。

问题是,StartTimeNames: 9:00到9:45,状态为空(statusFinal值未显示),statusFinal值从10:00显示到结束时间。

_vmModel.keyValuePairs是视图模型字典的一个对象,

_vmModel.ProductTypesSel是ProductType[]的数组,

_vmModel.StartTimeNames是string[]的数组

这个密码怎么了?请看图片。

任何帮助都是非常感谢的。谢谢!

代码语言:javascript
复制
 Dictionary<int, List<KeyValuePair<string, string>>> keyValuePairs = _vmModel.keyValuePairs;
代码语言:javascript
复制
foreach (var item in _vmModel.ProductTypesSel)
{
    List<KeyValuePair<string, string>> temp = keyValuePairs[item.Code];

    for (int i = 0; i < _vmModel.StartTimeNames.Length; i++)
    {
        string filterStartTimeNames = _vmModel.StartTimeNames[i];
        string statusFinal = "";

        foreach (KeyValuePair<string, string> timeValue in temp)
        {
            
            if (filterStartTimeNames == timeValue.Key)
            {
                statusFinal = timeValue.Value;
                Console.WriteLine("LoopCheck Nested Locked Value: " + timeValue.Key);
            }
            else
            {
                Console.WriteLine("LoopCheck Nested Not Matched: " + timeValue.Key);
            }
        }
        Label statuslabel = new Label() { Text = statusFinal, WidthRequest = 80 };
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-24 08:53:32

根据您的描述,代码中一定有一些逻辑错误。处理该问题的最简单、最直接的方法是调试,以找到哪些行代码具有您不想要的结果。

只需在foreach (var item in _vmModel.ProductTypesSel)添加一个断点即可。当循环开始时,一步一步地运行代码,每次检查变量的值。

通过检查每一行代码的结果是否与预期相同,您可以找到问题所在并解决它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74556557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档