C# 구분 기호가 있는 문자열에 대한 목록입니다.
C#에 일부 컬렉션을 문자열로 빠르게 변환하고 구분 기호로 값을 구분하는 기능이 있습니까?
예를 들어 다음과 같습니다.
List<string> names--> 다시 한 번 말씀해 주세요.string names_together = "John, Anna, Monica"
를 사용할 수 있습니다.만약 당신이 가지고 있다면요List<string>먼저 전화를 걸 수 있습니다.
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
.NET 4에서는 다음을 수행할 필요가 없습니다.ToArray더 이상, 오버로드가 있기 때문입니다.String.Join시간이 걸립니다.IEnumerable<string>.
의 최신 버전입니다.NET이 다릅니다.String.Join오버로드에서는 다양한 방법을 사용하여 결과를 생성합니다.코드 성능에 영향을 줄 수 있습니다.
예를 들어, 다음을 수락하는 사람들입니다.IEnumerable사용하다StringBuilder보닛 아래에요어레이를 수용하는 어레이는 어레이 및 포인터와 함께 고도로 최적화된 구현을 사용합니다.
결과는 다음과 같습니다.
존, 안나, 모니카요
원한다면 linq를 사용하여 이 작업을 수행할 수도 있습니다.
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Quartermeister의 답변에서 비-linq 구문을 선호합니다 그리고 제 생각엔Aggregate더 많은 문자열 연결 작업을 수행할 수 있습니다.
모든 프로젝트에서 사용하는 승인된 답변을 기반으로 한 확장 방법입니다.
public static string StringJoin(this IEnumerable<string> values, string separator)
{
return string.Join(separator, values);
}
용도는 다음과 같습니다.
var result = names.StringJoin(", ");
추신. 절대 사용하지 마세요.Aggregate이것에 대해, 그것은 두 개의 진도보다 느립니다string.Join
언급URL : https://stackoverflow.com/questions/3575029/c-sharp-liststring-to-string-with-delimiter 입니다.
'programing' 카테고리의 다른 글
| Azure AD B2C 테넌트와 일반 Azure AD 테넌트의 차이점은 무엇입니까? (0) | 2023.04.25 |
|---|---|
| Eclipse의 파일 검색 탭으로 바로 이동하려면 어떻게 해야 합니까? (0) | 2023.04.25 |
| UNIX 내보내기 명령입니다. (0) | 2023.04.25 |
| NPOI를 사용하여 파일을 읽는 방법입니다. (0) | 2023.04.25 |
| Base64 문자열을 디코딩하려면 어떻게 해야 합니까? (0) | 2023.04.25 |