簡體   English   中英

函數應該按(行,列)或(列,行)順序接受/返回值嗎? [等候接聽]

[英]Should a function accept/return values in (row,col) or (col,row) order? [on hold]

說我有一個函數,該函數接受行和列作為參數,或者返回行和列的元組作為其返回值。 我知道這實際上並沒有什么區別,但是是否將行放在第一位還是列放在第一位呢? 從數學上來說,如果我將這對視為表中的坐標,我會直觀地將列放在第一位,例如在笛卡爾點(x,y)中。 但是,如果我將其視為一個整體矩陣,則將行放在第一位,就像矩陣的MxN大小一樣。

如果對於不同的語言有不同的約定,我將特別對c ++,c#和python感興趣。
所謂“慣例”,我的意思是最好是該語言的標准庫以某種方式做到這一點,如果不是這樣,那么第二選擇只有當它如此通用以至於該語言的所有主要第三方庫都可以這樣做時,才是最好的選擇。並解釋原因。

您不應該考慮什么是“水平”和什么是“垂直”。 您應該考慮廣泛使用的約定,這不會給使用您的代碼的開發人員帶來很多驚喜。 命名參數時也是如此:對於坐標,使用(x, y, z) ,對於矩陣中的索引使用(i, j)對於表的單元格(按此順序)使用(row, column) )。

我同意@ParalysisByAnalysis,有時這取決於情況,但是經驗法則是遵循該主題的約定。

約定是像(x,y)那樣處理(列,行)。

列是指值的類型,行是指列的值。

列是鍵,Row是值。

但是使用(行,列)也可以。

這取決於您在做什么。

在SQL / Linq中,您始終引用列來獲取行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM