簡單的問題。將文件路徑(字符串)列表配對在一起,並存儲在某種類型的數組中。例如:幾百對將在稍後被引用,並且一旦列表被編譯爲匹配並存儲在數組中,就進行比較。什麼是最好的數組類型來存儲兩個鏈接的字符串?使用哪種數組類型來存儲由一個鍵引用的兩個字符串
C:\路徑\ path1.jpg,C:\ PATH2 \ path2.jpg
預先感謝您和原諒我的無知。
簡單的問題。將文件路徑(字符串)列表配對在一起,並存儲在某種類型的數組中。例如:幾百對將在稍後被引用,並且一旦列表被編譯爲匹配並存儲在數組中,就進行比較。什麼是最好的數組類型來存儲兩個鏈接的字符串?使用哪種數組類型來存儲由一個鍵引用的兩個字符串
C:\路徑\ path1.jpg,C:\ PATH2 \ path2.jpg
預先感謝您和原諒我的無知。
創建一個類,它代表了兩個路徑
Public Class LinkedPaths
Public Property Path1 As String
Public Property Path2 As String
End Class
然後創建的List(Of LinkedPaths)
Dim collection As New List(Of LinkedPaths) From
{
New LinkedPaths { .Path1 = "C:\PATH\path1.jpg", .Path2 = "C:\PATH\path2.jpg" },
New LinkedPaths { .Path1 = "C:\PATH\path3.jpg", .Path2 = "C:\PATH\path4.jpg" }
New LinkedPaths { .Path1 = "C:\PATH\path5.jpg", .Path2 = "C:\PATH\path6.jpg" }
}
一個實例,然後你可以遍歷和比較這集
For Each pathPair As LinkedPaths In collection
Compare(pathPair.Path1, pathPair.Path2)
Next
用這種方法關鍵是類的LinkedPaths
實例一起走兩條路。
如果您需要「真正」分離的密鑰對,但問題中未提及,但標題中的「密鑰」字會變得混淆。然後你可以使用字典中提到的評論
Dim collection As New Dictionary(Of String, LinkedPaths);
調查Tuple(Of String, String)
。但這只是集合中的數據類型。對於要使用的集合,無論是數組,列表(字符串,字符串)還是字符串(字符串,字符串的字符串)或其他,這取決於您以後如何訪問這些集合。
在程序的後面,我將遍歷該列表以及該過程的結果,並將它們應用於兩個路徑,因爲它們是成對的。在這種情況下,同一時間拍攝的兩張圖像會根據其中一張圖像中的數據進行分類。我將研究這個'List(元組(字符串,字符串))'的列表 – Seyruuen
您可以使用[字符串(字符串,字符串())](https://msdn.microsoft.com/en-us/library/x525za90(v = vs.110).aspx) – tinstaafl
'兩個字符串由一個鍵引用「什麼/哪裏是關鍵? – Plutonix
這取決於。如果第一個字符串的文件路徑列表始終是唯一的,則可以使用Dictionary集合,並將該對的第一個字符串作爲關鍵字(這必須是唯一的),第二個字符串作爲值。如果您只會使用存儲爲鍵值的第一個字符串進行搜索,那麼這隻會非常有用。如果您需要單獨的密鑰,則可以創建一個用於存儲兩個文件路徑的結構,然後使用單獨的密鑰和結構作爲值創建一個字典。或者一個鍵和元組,或者兩個列表或其他列表的混合。很多可能性。 –