programing

'List'를 쉼표로 구분된 문자열로 변환

stoneblock 2023. 6. 18. 10:10

'List'를 쉼표로 구분된 문자열로 변환

빠른 변환 방법이 있습니까?List<string>쉼표로 구분하여stringC#에?

이렇게 하는데 더 빠르고 효율적인 방법이 있을까요?

List<string> ls = new List<string>();
ls.Add("one");
ls.Add("two");
string type = string.Join(",", ls.ToArray());

PS: 이 사이트에서 검색했지만 대부분의 솔루션은 Java 또는 Python용입니다.

.NET 4에서는 다음이 필요하지 않습니다.ToArray()호출 - 수락하기 위해 오버로드되었습니다.IEnumerable<T>아니면 그냥IEnumerable<string>.

.NET 4 이전에는 더 효율적인 방법이 있을 수 있지만, 정말로 필요합니까?이것이 실제로 코드의 병목 현상입니까?

당신은 목록을 반복하고, 최종 크기를 계산하고, 할당할 수 있습니다.StringBuilder정확하게 알맞은 크기로, 그리고 나서 스스로 결합하세요.그렇게 하면 추가 어레이가 거의 이유 없이 구축되는 것을 피할 수 있지만, 시간을 많이 절약할 수 없고 코드도 훨씬 더 많을 것입니다.

Jon Skeets에서 확장하려면 이에 대한 코드에 답하십시오..Net 4다음과 같습니다.

string myCommaSeperatedString = string.Join(",",ls);

다음은 쉼표로 구분된 목록입니다.다음에 대한 사용 설명을 포함해야 합니다.System.Linq

List<string> ls = new List<string>();
ls.Add("one");
ls.Add("two");
string type = ls.Aggregate((x,y) => x + "," + y);

하나, 둘을 양보할 것입니다.

쉼표 뒤에 공백이 필요하면 마지막 줄을 다음으로 변경합니다.string type = ls.Aggregate((x,y) => x + ", " + y);

다음을 수행합니다.

       List<string> name = new List<string>();   

        name.Add("Latif");

        name.Add("Ram");

        name.Add("Adam");
        string nameOfString = (string.Join(",", name.Select(x => x.ToString()).ToArray()));
static void Main(string[] args)
{
   List<string> listStrings = new List<string>(){ "C#", "Asp.Net", "SQL Server", "PHP", "Angular"};
   string CommaSeparateString = GenerateCommaSeparateStringFromList(listStrings);
   Console.Write(CommaSeparateString);
   Console.ReadKey();
}

private static string GenerateCommaSeparateStringFromList(List<string> listStrings)
{
   return String.Join(",", listStrings);  
}

문자열 목록을 쉼표로 구분된 문자열 C#로 변환합니다.

그게 제가 당신의 코드를 유지하고 있었는지 확인하고 싶은 방법입니다.만약 여러분이 더 빠른 해결책을 찾는다면, 그것은 매우 난해할 것입니다. 그리고 여러분은 그것이 무엇을 하는지 설명하는 방법 안에 그것을 묻어야 합니다.

(ToArray 없이도 작동합니까?)

언급URL : https://stackoverflow.com/questions/8593216/convert-liststring-to-comma-separated-string