我有一个代码片段,只是表现得很愚蠢。以下代码生成" 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;为什么有一些见解?
答案 0 :(得分:1)
听起来好像在扔;一个很好的方法是:
try
{
...
}
catch (Exception e)
{
tb.Text = e.Message;
}
最可能的错误是您要求First()
,并且在指定的日期范围内有没有任何匹配元素。我意识到你说在调试时这不会失败,但是:将处理程序保留在真实代码中,你会看到实际正在发生什么。