我想要有一個代表長度的值對象。考慮到它是一種值類型,我寧願使用struct
,但由於零長度沒有意義,所以我不得不使用class
。將兩個長度加在一起看起來像是一個合理的操作,所以我想超載運算符+
。我很好奇,但我應該如何處理添加null
?如何在爲類值對象重載operator +時處理null?
將null
添加到現有字符串會返回與現有字符串具有相同內容的字符串。將null
添加到具有值的int?
返回null
。
我可以看到一種情況,即將null
添加到現有長度只是返回與現有長度具有相同值的新長度。同時,我可以看到添加null
將被視爲錯誤的情況。我一直試圖找到一些指導,但一直沒有找到任何指導。有沒有一個共同的指導方針呢,還是每個應用程序都有所不同?
零長度使得沒有更多的意義大於零的長度。 – Evk