2015-01-16 21 views
5

Tôi có văn bản. ví dụ: string text = "COMPUTER"
Và tôi muốn chia thành các ký tự, để giữ mọi ký tự dưới dạng chuỗi.
Nếu có bất kỳ dấu tách nào tôi có thể sử dụng text.Split(delimiter).
Nhưng không có bất kỳ dấu phân cách, tôi chuyển nó sang char mảng với
text.ToCharArray().toList().
Và sau đó tôi nhận được List<char>. Nhưng tôi cần List<string>.
Vậy làm cách nào tôi có thể chuyển đổi List<char> thành List<string>.Làm thế nào để chuyển đổi Danh sách <char> thành Danh sách <string> trong C#?

Trả lời

11

Chỉ cần lặp qua các bộ sưu tập của các nhân vật, và chuyển đổi từng đến một chuỗi:

var result = input.ToCharArray().Select(c => c.ToString()).ToList(); 

Hoặc ngắn hơn (và hiệu quả hơn, vì chúng ta không tạo thêm mảng ở giữa):

var result = input.Select(c => c.ToString()).ToList(); 
1

Hãy thử sau

string text = "COMPUTER" 
var listOfChars = text.Select(x=>new String(new char[]{x})).ToArray() 
1

Sử dụng thực tế là string là internall y đã rất gần với một cách tiếp cận char[]

mà không LINQ:

List<string> list = new List<string(); 
for(int i = 0; i < s.Length; i++) 
    list.Add(s[i].ToString()); 
2

thử này

var result = input.Select(c => c.ToString()).ToList(); 
+0

Tại sao này downvoted ?? – Ripple

+1

@Ripple: vì câu trả lời đã được chỉnh sửa kể từ (nhưng vẫn nằm trong cửa sổ thời gian "không có lịch sử" ban đầu). Câu trả lời ban đầu không liên quan gì đến câu hỏi – knittl

+0

@knittl Đã hiểu rồi, nhưng bây giờ kẻ hủy diệt nên hủy bỏ nó ... – Ripple

1
string bla = "COMPUTER"; //Your String 
    List<char> list = bla.ToCharArray().ToList(); //Your char list 
    List<string> otherList = new List<string>(); //Your string list 
    list.ForEach(c => otherList.Add(c.ToString())); //iterate through char-list convert every char to string and add it to your string list 
0

Sử dụng này:

chính:

charList là của bạn Tính cách Danh sách

strList là của bạn Danh sách chuỗi

Code:

List<string> strList = new List<string>(); 
foreach(char x in charList) 
{ 
    strList.Add(x.ToString()); 
} 
Các vấn đề liên quan