我有一個實現ToString()
的對象列表。我需要將整個列表轉換爲一行中的一個字符串。我怎樣才能做到這一點?將對象列表轉換爲一行中的字符串
回答
,可以幫助出另一種方法是string.Join
,這需要一組對象,並會加入他們你想要的任何分隔符。例如:
var combined = string.Join(", ", myObjects);
將產生一個逗號/空格分隔的字符串。
假設你的意思是你的對象實施的ToString,我相信這將做到這一點:
String.Concat(objects.Select(o=>o.ToString()));
按DTB注意,這應該工作以及:
String.Concat(objects);
見http://msdn.microsoft.com/en-us/library/dd991828.aspx
當然,如果你沒有實現ToString,你也可以這樣做:
String.Concat(objects.Select(o=>o.FirstName + " " + o.LastName));
太棒了,這個作品! – user1306322
'.Select(o => o.ToString())'是不必要的,因爲[String.Concat方法](http://msdn.microsoft.com/zh-cn/library/dd991828.aspx)有一個過載它接受IEnumerable
您可以使用String.Join連接對象列表。
string str = String.Join(",", objects);
這些都不適合我。我很困惑,因爲文檔明確說他們不會工作(需要字符串,而不是對象)。但是,修改@阿迪爾的原始答案(通過看以前的版本中找到),我得到了正常工作的一個版本:
string.Join(",", objectList.Select(c=>c.ToString()).ToArray<string>())
編輯:按@克里斯的評論 - 我使用統一的版本.NET的。我用微軟的文檔作爲參考,所以我仍然困惑爲什麼這會得到低估,但是......也許這是一個需要此解決方案的Unity特定問題。
- 1. 將字符串對象轉換爲python中的列表對象
- 2. 將列表(的對象)轉換爲列表(的字符串)
- 3. 將unicode對象列表轉換爲字符串列表
- 4. 將字符串列表轉換爲簡單對象列表
- 5. 將字符串轉換的兩個列表的一個對象
- 6. 如何將列表字符串轉換爲特定的對象
- 7. 將json對象的字符串[]轉換爲列表<T>
- 8. 將表示對象的字符串轉換爲javascript對象
- 9. Java:可能的對象列表轉換爲字符串列表
- 10. 將字符串轉換爲gson對象
- 11. 將字符串對象轉換爲istringstream
- 12. 將python'type'對象轉換爲字符串
- 13. 將字符串轉換爲JSON對象
- 14. 將字符串轉換爲對象Python
- 15. 將字符串轉換爲JS對象
- 16. 將對象轉換爲字符串
- 17. 將字符串轉換爲對象
- 18. VBScript將對象轉換爲字符串?
- 19. 將對象轉換爲字符串(java)
- 20. 將XML對象轉換爲字符串
- 21. 將對象[,]轉換爲字符串
- 22. 將對象轉換爲字符串
- 23. 將字符串轉換爲DateTime對象
- 24. 將字符串轉換爲json對象
- 25. 將字符串轉換爲datetime.time對象
- 26. 將字符串轉換爲NSDate對象
- 27. Jquery將字符串轉換爲對象
- 28. 將字符串轉換爲JavaScript對象
- 29. 將JSON對象轉換爲字符串
- 30. 將字符串轉換爲對象
試過這個,由於對象不是字符串而被編譯器拒絕。文檔似乎說這不會起作用,需要字符串,而不是對象? https://msdn.microsoft.com/en-us/library/57a79xd0%28v=vs.110%29.aspx – Adam
原始問題提到對象實現'ToString()'。所以,你必須爲輸入類添加'ToString()'功能(如果可以的話),或者你可以使用linq將對象投影到'string's,la'string.Join(「, 「,myObjects.Select(a => MyStringMethod(a)));'。 – eouw0o83hf
此外,[該文檔確實顯示過載](https://msdn.microsoft.com/en-us/library/dd988350(v = vs.110).aspx),它在第二個對象中使用Object [] ARG。所以,假設'myObjects'是一個數組,它可以用於直接使用'Object's – eouw0o83hf