목록을 C#의 문자열로 변환합니다.
C#에서 목록을 문자열로 변환하려면 어떻게 해야 합니까?
실행할 때요toString
List 객체의 경우 다음과 같습니다.
System.Collections입니다.포괄적인.목록1[시스템]을 클릭합니다.문자열입니다.
아마도 당신은 하려고 하는 것 같습니다.
string combinedString = string.Join( ",", myList.ToArray() );
"를 목록의 요소를 분할할 기준으로 바꿀 수 있습니다.
편집: 설명에서 언급한 바와 같이 다음을 수행할 수도 있습니다.
string combinedString = string.Join( ",", myList);
참조:
Join<T>(String, IEnumerable<T>)
Concatenates the members of a collection, using the specified separator between each member.
제 직감으로 가서 당신이 전화한 결과를 연결시키고 싶어한다고 가정하겠습니다.ToString
각 요소에 표시됩니다.
var result = string.Join(",", list.ToArray());
다음을 사용할 수 있습니다.
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)를 생산합니다.
String.Join(" ", myList)
아니면요?String.Join(" ", myList.ToArray())
. 첫 번째 인수는 하위 문자열 사이의 구분자입니다.
var myList = new List<String> { "foo","bar","baz"};
Console.WriteLine(String.Join("-", myList)); // prints "foo-bar-baz"
의 버전에 따라 다릅니다.NET 목록에서 ToArray()를 먼저 사용해야 할 수 있습니다.
있습니다.List<string>
- 그러니까 이걸 연결하길 바란다면요.
string s = string.Join("", list);
(에서) 작동됩니다.NET 4.0 이상).첫 번째 매개 변수는 구분자입니다.쉼표 구분 등을 할 수도 있습니다.
목록을 구성하는 대신 StringBuilder를 사용하여 연결을 실행하는 방법도 고려할 수 있습니다.
그.ToString()
참조 유형에 대한 메서드는 일반적으로 다음과 같이 해결됩니다.System.Object.ToString()
파생 유형(내장 유형에 확장 메서드를 사용하여 재정의)으로 재정의하지 않는 한 말입니다.이 메서드의 기본 동작은 호출되는 유형의 이름을 출력하는 것입니다.그래서 지금 보고 계신 건 예상된 행동이에요
이런 걸 시도해 볼 수도 있어요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[] lines = File.ReadAllLines(Environment.CurrentDirectory + "\\Notes.txt");
string marRes = string.Join(Environment.NewLine, lines.ToArray());
누군가를 도울 수 있기를 바랍니다!!!!
목록에 있는 을 크게 긴 문자열로 바꾸려면 이렇게 .String.Join("", myList)
. 일부 이전 버전의 프레임워크에서는 IEnumberable을 두 번째 매개 변수로 전달할 수 없으므로 을(를) 호출하여 목록을 배열로 변환해야 할 수 있습니다 일부 이전 버전의 프레임워크에서는 IEnumberable을 두 번째 매개 변수로 전달할 수 없으므로 를 호출하여 목록을 배열로 변환해야 할 수 있습니다.ToArray()입니다.
이 질문에 대한 직접적인 대답은 바로 이겁니다.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();
저는 이게 효과가 있는 것 같아요.
var combindedString = new string(list.ToArray());
목록에 필드/속성이 있고 특정 값(예: FirstName)을 사용하려는 경우 다음을 수행할 수 있습니다.
string combindedString = string.Join( ",", myList.Select(t=>t.FirstName).ToArray() );
string strs="111,222,333"
string.Join(",",strs.Split(',').ToList().Select(x=>x.PadLeft(6,'0')).ToArray());
출력입니다.
000111,000222,000333
언급URL : https://stackoverflow.com/questions/4981390/convert-a-list-to-a-string-in-c-sharp 입니다.
'programing' 카테고리의 다른 글
C++의 문자열을 대문자로 변환합니다. (0) | 2023.04.25 |
---|---|
GCD의 dispatch_once in Objective-C를 사용하여 싱글톤을 생성합니다. (0) | 2023.04.25 |
mongoose 스키마에 중첩된 개체 (0) | 2023.04.20 |
Postgre에서 변수를 선언하는 방법SQL 쿼리 (0) | 2023.04.20 |
nodemon이 작동하지 않음: -syslog: nodemon: 명령을 찾을 수 없습니다. (0) | 2023.04.20 |