給定一個對象的列表,我想打印他們的字符串版本,以防萬一object.ToString()結果是一個相關的字符串。從列表<object>,ToString()他們只是當他們是原始類型或有此方法覆蓋
我的意思是我不希望得到的東西,如:
obj.ToString() -> System.Collections.Generic.List`1[MyLib.Dude]
obj.ToString() -> System.Collections.Generic.Dictionary`2[System.Int32,System.DateTime]
obj.ToString() -> System.Byte[]
但我想要得到的東西,如:
obj.ToString() -> Hi
obj.ToString() -> 129847.123
obj.ToString() -> Id = 123
什麼應該在實施這一目標的最佳方式方法:
Public Sub PrintInterestingStuffOnly(ByVal coolList as Ilist(Of Object))
For Each obj in coolList
'insert solution here
Console.WriteLine(....
End For
End Sub
?
想到的第一件事就是測試obj.ToString ()== obj.GetType()。ToString() – walkingTarget 2011-02-15 15:06:36
你怎麼能說它是相關的?您是否對每種情況下的做法都有明確的規定?例如,當沒有ToString()被覆蓋? – decyclone 2011-02-15 15:07:27