C# 请解释这个转换扩展方法

C# 请解释这个转换扩展方法,c#,.net,generics,extension-methods,ienumerable,C#,.net,Generics,Extension Methods,Ienumerable,我正在努力理解下面的代码,有人能给我解释一下(用简单的术语)如何转换和转换什么。尤其是这部分让我感到困惑(这是IEnumerable>values) 代码: 公共静态类扩展 { 公共静态IEnumerable ConvertAll(此IEnumerable值)=>values.Select(value=>value.Convert); } 基本上,对于集合中的每个值,调用T.Convert函数(其中T是目标类型)并返回另一个转换值集合 它不做任何转换,而是根据输出类型将转换交给不同的函数 这是一

我正在努力理解下面的代码,有人能给我解释一下(用简单的术语)如何转换和转换什么。尤其是这部分让我感到困惑(这是IEnumerable>values)

代码:

公共静态类扩展
{
公共静态IEnumerable ConvertAll(此IEnumerable值)=>values.Select(value=>value.Convert);
}

基本上,对于集合中的每个值,调用
T.Convert
函数(其中T是目标类型)并返回另一个转换值集合

它不做任何转换,而是根据输出类型将转换交给不同的函数

这是一种做类似事情的速记方式:

var convertedValues = new List<TTarget>();
foreach(var value in values)
{
   var convertedValue = value.Convert();
   convertedValues.Add(convertedValue);
}
return convertedValues;
var convertedValues=new List();
foreach(值中的var值)
{
var convertedValue=value.Convert();
convertedValues.Add(convertedValue);
}
返回转换值;

基本上,对于集合中的每个值,调用
T.Convert
函数(其中T是目标类型)并返回另一个转换值集合

它不做任何转换,而是根据输出类型将转换交给不同的函数

这是一种做类似事情的速记方式:

var convertedValues = new List<TTarget>();
foreach(var value in values)
{
   var convertedValue = value.Convert();
   convertedValues.Add(convertedValue);
}
return convertedValues;
var convertedValues=new List();
foreach(值中的var值)
{
var convertedValue=value.Convert();
convertedValues.Add(convertedValue);
}
返回转换值;

(此IEnumerable值)
与“如何转换以及转换什么”无关,它只是说这是
IEnumerable
上的一个扩展方法。
IConvertModel
看起来如何?{public interface IConvertModel{TTarget Convert{get;}}您的
IConvertModel
似乎没有转换任何值。它只是提供了一个
TTarget
的值。该方法只需要一个someone接口的可枚举项,该接口有一个源和一个目标泛型参数以及一个convert属性,没有什么需要解释的了
(这个IEnumerable值)
与“转换的方式和内容”无关,它只是说这是对
IEnumerable
的一个扩展方法。
IConvertModel
看起来怎么样?{public interface IConvertModel{TTarget Convert{get;}}}}}您的
IConvertModel
似乎没有转换任何值。它只是提供了一个值
TTarget
。该方法只需要一个someone接口的可枚举项,该接口有一个源和一个目标泛型参数以及一个convert属性,没有什么需要解释的了。谢谢,这对我来说更有意义。谢谢,这对我来说更有意义。