답변:
어쩌면 당신은하려고합니다
string combindedString = string.Join( ",", myList.ToArray() );
","를 목록의 요소를 나누려는 항목으로 바꿀 수 있습니다.
편집 : 언급으로 코멘트에 당신은 또한 할 수
string combindedString = string.Join( ",", myList);
참고:
Join<T>(String, IEnumerable<T>)
Concatenates the members of a collection, using the specified separator between each member.
당신은 사용할 수 있습니다 string.Join
:
List<string> list = new List<string>()
{
"Red",
"Blue",
"Green"
};
string output = string.Join(Environment.NewLine, list.ToArray());
Console.Write(output);
결과는 다음과 같습니다.
Red
Blue
Green
에 대한 대안으로 Environment.NewLine
, 선택한 문자열 기반 줄 구분자로 바꿀 수 있습니다.
간단한 조인보다 약간 더 복잡한 것을 원한다면 LINQ를 사용할 수 있습니다.
var result = myList.Aggregate((total, part) => total + "(" + part.ToLower() + ")");
[ "A", "B", "C"]를 가져 와서 "(a) (b) (c)"를 생성합니다.
.ToString()
참조 유형의 방법은 일반적으로 다시 해결 System.Object.ToString()
이 파생 타입을 오버라이드 (override)하지 않는 한 (아마도 내장 타입의 확장 방법을 사용하여). 이 메소드의 기본 동작은 호출 된 유형의 이름을 출력하는 것입니다. 여러분이보고있는 것은 예상되는 행동입니다.
string.Join(", ", myList.ToArray());
이것을 달성하기 위해 무언가를 시도 할 수 있습니다. 추가 단계이지만 확장 방법 System.Collections.Generic.List<T>
을 사용하여 조금 더 쉽게 만들 수 있습니다. 이 같은:
public static class GenericListExtensions
{
public static string ToString<T>(this IList<T> list)
{
return string.Join(", ", list);
}
}
(이것은 자유 코드이며 테스트되지 않은 코드입니다. 현재 컴파일러가 유용하지 않으므로 약간 실험 해보십시오.)
말하기는 어렵지만 아마도 다음과 같은 것을 찾고있을 것입니다.
var myString = String.Join(String.Empty, myList.ToArray());
목록의 각 항목에서 ToString () 메서드를 암시 적으로 호출하여 연결합니다.
String.Concat()
같은 것을 더 잘 달성 할 것입니다.
귀하의 질문에 대한 직접적인 대답은 String.Join
다른 사람들이 언급 한 것입니다.
그러나 조작이 필요한 경우 다음을 사용할 수 있습니다 Aggregate
.
List<string> employees = new List<string>();
employees.Add("e1");
employees.Add("e2");
employees.Add("e3");
string employeesString = "'" + employees.Aggregate((x, y) => x + "','" + y) + "'";
Console.WriteLine(employeesString);
Console.ReadLine();
이 방법은 텍스트 파일에서 데이터를 검색하여 배열에 저장 한 다음 가변 문자열에 할당 할 때 도움이되었습니다.
string[] lines = File.ReadAllLines(Environment.CurrentDirectory + "\\Notes.txt");
string marRes = string.Join(Environment.NewLine, lines.ToArray());
희망적으로 누군가를 도울 수 있습니다 !!!!