Nice programing

List (of object)를 List (of string)로 변환

nicepro 2020. 11. 7. 10:32
반응형

List (of object)를 List (of string)로 변환


A A로 변환하는 방법은 List(of Object)A와 List(of String)C #에서 또는 vb.net 항목 모두를 반복하지 않고는? (뒤에서 반복해도 괜찮습니다. 간결한 코드를 원합니다.)

업데이트 : 가장 좋은 방법은 아마도 새로운 선택을하는 것입니다.

myList.Select(function(i) i.ToString()).ToList();

또는

myList.Select(i => i.ToString()).ToList();

새 목록을 작성하기 위해 반복하지 않으면 불가능합니다. IList를 구현하는 컨테이너에 목록을 래핑 할 수 있습니다.

LINQ를 사용 IEnumerable<string>하여 다음과 같은 개체 목록에서 지연 평가 버전을 가져올 수 있습니다 .

var stringList = myList.OfType<string>();

이것은 모든 유형에 적용됩니다.

List<object> objects = new List<object>();
List<string> strings = objects.Select(s => (string)s).ToList();

변환이 발생하는 방법을 더 많이 제어하려면 ConvertAll을 사용할 수 있습니다.

var stringList = myList.ConvertAll(obj => obj.SomeToStringMethod());

이런 뜻인가요?

List<object> objects = new List<object>();
var strings = (from o in objects
              select o.ToString()).ToList();

아니요- 목록의 모든 요소 를 변환하려면 해당 목록의 모든 요소를 어떤 식 으로든 터치해야합니다 .

반복을 다른 방법 (foreach () ......, 또는 .ConvertAll () 등)으로 지정 / 작성할 수 있지만 결국에는 어떤 식 으로든 일부 코드가 각각에 대해 반복 될 것입니다. 요소 및 변환합니다.

마크


List (of object)가 작성되는 동안 문자열 변환을 수행 할 수 있습니까? 이것은 List (of object)가 만들어진 후 전체 목록을 열거하지 않는 유일한 방법입니다.

참고 URL : https://stackoverflow.com/questions/480399/convert-listof-object-to-listof-string

반응형