Whats cách tốt nhất để chuyển đổi một danh sách (của string) thành một chuỗi với các giá trị tách bằng dấu phẩy (,
)Chuyển đổi Danh sách String để một String cách nhau bởi một dấu phân cách
Trả lời
String.Join(",", myListOfStrings.ToArray())
ta thời điểm tóc vàng – spacemonkeys
Điều duy nhất tôi có thể thêm là một kiểm tra rỗng/trống trước khi 'ToArray()' chuyển đổi: 'myListOfStrings.Where (Chức năng (s) Không String.IsNullOrEmpty (s)). ToArray()' –
Điều đó phụ thuộc vào những gì bạn có nghĩa là "tốt nhất". Bộ nhớ ít tốn kém nhất là đầu tiên tính toán kích thước của chuỗi cuối cùng, sau đó tạo một StringBuilder với dung lượng đó và thêm các chuỗi vào nó.
StringBuilder sẽ tạo bộ đệm chuỗi có kích thước chính xác và bộ đệm đó là những gì bạn nhận được từ phương thức ToString dưới dạng chuỗi. Điều này có nghĩa rằng không có thêm chuỗi trung gian hoặc mảng được tạo ra.
// specify the separator
string separator = ", ";
// calculate the final length
int len = separator.Length * (list.Count - 1);
foreach (string s in list) len += s.Length;
// put the strings in a StringBuilder
StringBuilder builder = new StringBuilder(len);
builder.Append(list[0]);
for (int i = 1; i < list.Count; i++) {
builder.Append(separator).Append(list[i]);
}
// get the internal buffer as a string
string result = builder.ToString();
Không vấn đề bạn có ý nghĩa gì bởi "tốt nhất" này có lẽ không phải là tốt nhất. – mquander
@mquander: Đó là bộ nhớ ít tốn kém nhất, tôi đã nói rõ ràng rằng trong đoạn đầu tiên. Nếu bạn cần phải giảm tải bộ nhớ, đây rõ ràng là phương pháp tốt nhất. – Guffa
Không có nhiều sự khác biệt về cường độ bộ nhớ. Không có chuỗi trung gian trong phương thức Tham gia. Nó chỉ là mảng tham chiếu. –
Giải pháp của tôi:
string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
newstring = newstring + item
if item != string[endOfString]:
newstring = newstring ","'
Mã giả đôi khi tốt đẹp nhưng thực thi ngôn ngữ thực tế được ưa thích ở đây. –
Một giải pháp đơn giản:
dim str as string = ""
for each item as string in lst
str += ("," & item)
next
return str.substring(1)
Phải mất khỏi char đầu tiên kể từ chuỗi (",")
- 1. Cách chuyển đổi danh sách Danh sách <String> thành csv string
- 2. C# Chuyển đổi Danh sách <string> thành Từ điển <string, string>
- 3. Chuyển đổi 'Danh sách <string>' thành chuỗi được phân tách bằng dấu phẩy
- 4. Chuyển đổi một String để một Ngắn
- 5. Chuyển đổi mảng chuỗi thành Danh sách <string>
- 6. C# LINQ String [] Danh sách trừ từ String [] Danh sách
- 7. Tạo danh sách riêng <string, string, string>
- 8. Chuyển đổi một String để Variable
- 9. Chuyển đổi StringCollection vào danh sách <String>
- 10. chuyển đổi List <Danh sách <string[]>> vào string [] [] [] trong C#
- 11. chuyển đổi EnumerableRowCollection <string> vào danh sách <string>
- 12. Chuyển đổi Danh sách <Enum> vào danh sách <string>
- 13. chuyển đổi String để DateTime
- 14. Chuyển đổi XmlDocument để String
- 15. Danh sách <String> cho ArrayList <String> vấn đề chuyển đổi
- 16. C# Danh sách <string> thành chuỗi có dấu phân tách
- 17. Chuyển đổi một void * thành std :: string
- 18. Danh sách chuyển đổi <Integer> thành Danh sách <String>
- 19. Làm cách nào để chuyển đổi Danh sách <string> thành Danh sách <myEnumType>?
- 20. Làm cách nào để gắn một Danh sách <string> vào một ItemsControl?
- 21. Làm thế nào để Chuyển đổi Danh sách <string> để ReadOnlyCollection <string> trong C#
- 22. Chuyển đổi String để Integer
- 23. Chuyển đổi String để java.util.Date
- 24. Danh sách String trong Freemarker
- 25. làm thế nào để chuyển đổi ListItemCollection (dropdownlist.items) thành một từ điển <string, string>?
- 26. Chuyển đổi Dictionary <string, string> để dấu chấm phẩy chuỗi tách ra trong C#
- 27. Cách tạo Danh sách <T> từ một chuỗi được phân cách bằng dấu phẩy?
- 28. Chuyển đổi Ada String để C Void *
- 29. LINQ - rẽ Danh sách <string> vào Dictionary <string, string>
- 30. C# - Deserialize một danh sách <String>
Tại sao không tắt chức năng này thành một tốc độ/hiệu suất câu hỏi? "Cách nhanh nhất để ..." –
Không thể được giải thích là nhanh nhất và/hoặc hiệu quả nhất? – spacemonkeys