development

`목록 변환

big-blog 2020. 11. 7. 10:48
반응형

`목록 변환`쉼표로 구분 된 문자열


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

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

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

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


.NET 4에서 당신은 필요하지 않은 ToArray()전화를 - string.Join과부하 에 동의 IEnumerable<T>하거나 IEnumerable<string>.

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

당신은 수있는 최종 크기 밖으로 목록, 작업을 반복하는 할당 StringBuilder딱 맞는 크기의이 후, 자신을 가입 할. 즉 작은 이유로 건설되고 여분의 배열을 피할 것 -하지만 그것은 많은 시간을 저장하지 것 그리고 그것은 것 많은 더 많은 코드.


다음은 쉼표로 구분 된 목록이됩니다. 다음에 대한 using 문을 포함해야합니다.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);


Jon Skeets를 확장하려면 다음과 같은 코드에 답하십시오 .Net 4.

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

이것을 따르십시오 :

       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

반응형