列表lambda表达式

时间:2018-03-20 21:23:11

标签: c# asp.net

我有一个代码片段,只是表现得很愚蠢。以下代码生成" Debug 1"在文本框中。

try
{
    tb.Text = "Debug 1";
    TC tcard = lstTimeCards.First(c => c.TimeIn <= dayEnd && c.TimeIn >= dayStart);
    tb.Text = "Debug 2";
}
catch (Exception e)
{}

我的第一个和第一个答案可能涉及到各种各样的问题&#34;在lambda搜索操作期间遇到异常。&#34;然而,这种情况并非如此。在步骤调试期间,tcard被分配给我期望它得到的正确值,它只是拒绝对第二个 tb.text 操作做任何事情。

作为参考,我的TC课程如下:

private class TC
{
    public int id;
    public int weekID;
    public int PPID;
    public string UserID;
    public long TimeIn;
    public long? TimeOut;
    public string Comment;
}

有没有人对第二个 tb.text 操作被忽略&#34;为什么有一些见解?

1 个答案:

答案 0 :(得分:1)

听起来好像在扔;一个很好的方法是:

try
{
    ...
}
catch (Exception e)
{
    tb.Text = e.Message;
}

最可能的错误是您要求First(),并且在指定的日期范围内有没有任何匹配元素。我意识到你说在调试时这不会失败,但是:将处理程序保留在真实代码中,你会看到实际正在发生什么。