Linq程式逐步執行與偵錯
若是使用C#要對Linq程式做逐步的執行與偵錯,我們可以直接透過Step (F11)逐步執行。
舉個例子來說,假設今天想要對下列Linq程式做逐步執行。
{
int[] items = Enumerable.Range(1, 10).ToArray();
var linq = from item in items
where (item % 2) == 0
select new { Name = "Item", Value = item };
foreach (var item in linq)
{
Console.WriteLine(item);
}
}
我們可把中斷點設在迴圈上方,運行後會中斷在中斷點的位置上。
此時透過按下Step (F11) 就可以發現執行位置跑到了Linq陳述式上方,此時我們就可以透過Visual Studio監看到Linq陳述式的值了。
而若是要使用VB.NET對Linq程式做逐步的執行與偵錯,相較之下會比C#來的麻煩。主要可分為三個步驟:
- 使用函式來取代部分Linq陳述式
- 使用迴圈讀取Linq內的元素
- 中斷點設在函式中做逐步偵錯的動作
舉個例子來說,假設今天想要對下列Linq程式做逐步執行。
Dim items() As Integer = Enumerable.Range(1, 10).ToArray
Dim linq = From item In items Where item Mod 2 = 0 Select New With {.Name = "Item", .Value = item}
For Each item In linq
Console.WriteLine(item)
Next
End Sub
把Linq部分陳述式改用函式替代,當程式跑到迴圈時,就可以在該函式中除錯。