типы в List-e
От: VVVa  
Дата: 26.01.22 14:22
Оценка:
как пивести типы (сделать обкаст) обьектов в листе

например list<тип1> в list<тип2> (по одному обьекту можно но как сразу)

заранее спасибо!!!
Re: типы в List-e
От: _NN_ www.nemerleweb.com
Дата: 26.01.22 14:58
Оценка: 3 (1) +2 :)
Здравствуйте, VVVa, Вы писали:

VVV>как пивести типы (сделать обкаст) обьектов в листе


VVV>например list<тип1> в list<тип2> (по одному обьекту можно но как сразу)


VVV>заранее спасибо!!!


Если подразумевается просто простое приведение типов то можно через Enumerable.Cast

using System.Collections.Generic;
using System.Linq;

var a = new List<int> { 1, 2, 3 };
var b = a.Cast<double>().ToList();
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: типы в List-e
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.01.22 18:47
Оценка: 2 (1)
Здравствуйте, VVVa, Вы писали:

VVV>как пивести типы (сделать обкаст) обьектов в листе

VVV>например list<тип1> в list<тип2> (по одному обьекту можно но как сразу)

Зависит от того, как связаны типы. Если нужен апкаст, и не кастящиеся элементы нужно выкинуть, то .OfType<UpType>(). Если речь о массивах и все типы элемента кастятся, можно привести тип массива (воспользовавшись ковариантностью массивов).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Re: типы в List-e
От: _FRED_ Черногория
Дата: 26.01.22 20:33
Оценка: 9 (2) +1
Здравствуйте, VVVa, Вы писали:

VVV>как пивести типы (сделать обкаст) обьектов в листе

VVV>например list<тип1> в list<тип2> (по одному обьекту можно но как сразу)

ConvertAll может быть чуть быстрее:
var list1 = new List<int> { 1, 2, 3 };
var list2 = list1.ConvertAll(item => (double)item);
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.