Linq之序列化不包含任何元素問題怎麼解決?

2021-07-05 01:13:51 字數 678 閱讀 2680

今天在開發介面的時候,寫了乙個查詢語句?語句是這樣的:

public basicteacherentities queryorganizationidbyteacherid(guid teacherid)

當我們用單元測試測試的時候出現了下面的錯誤:序列化不包含任何元素?這是怎麼回事呢?百思不得之後,我上網查詢,找出了答案。原來這是linq用法中丟擲的異常。

原因其實是很簡單的,使用first代表一定能找到,找不到就丟擲異常,但這不是一種錯誤,我們可以使用try……catch……進行異常的捕獲即可,也就是當獲取到的集合為空的時候,進行判斷進行輸出即可,此外還有乙個就是firstordefault:不同於first,取序列中滿足條件的第乙個元素,如果沒有元素滿足條件,則返回預設值,如果返回的是可以為null的物件,則返回預設值為null,對於不能為null的物件,如int,預設值為0。

其實如果是真實的場景的情況下,我的資料肯定是有返回值的,因為使用的是單元測試,模擬的時候使用的是乙個隨機的資料,導致了返回的集合為空,其實單元測試為空的時候不代表我的方法是錯誤的,但是出現這樣的情況的時候最好使用try……catch……進行異常的相關處理。

序列不包含任何匹配元素 Python學習筆記 序列

字串也是一種常見的序列,它也可以直接通過索引訪問字串內的字元。序列中,每個元素都有屬於自己的編號 索引 從起始元素開始,索引值從 0 開始遞增,如圖 python 還支援索引值是負數,此類索引是從右向左計數,最右側索引值從 1 開始,如圖 輸出結果為 切片操作可以訪問一定範圍內的元素,通過切片操作,...

序列不包含任何匹配元素 序列的一些使用方法

序列包含定值表 tuple 和列表 list 此外,字串是一種特殊的定值表,標的元素可以更改,定值表一旦確定,其元素不可更改。任何序列都可以引用其中的元素 下面的內建函式 built in function 可用於序列 表,定指表,字串 s為乙個序列 len s 序列中包含元素的個數 min s 序...

MapReducer糾錯之序列化反序列化問題

在mapreducer程式設計中經常會出現序列化反序列化的說法 在這裡解釋一下 序列化 序列化的意思就是把記憶體中的物件變成位元組儲存到磁碟上 反序列化 反序列化的意思就是把磁碟上的物件活化到記憶體中 說到這裡也許還是沒有說清楚序列化的意思,在大資料中,假設有乙個非常大的集群,也就是很多計算機,這一...