输入这个不是​​更好的方法吗?

时间:2017-09-25 14:12:13

标签: c#

所以我试图基本上做一个List的AddRange,我需要调用一个构造函数,而我正在做的只是看起来不直观。

这就是我正在做的事情:

List<Affix> FinalPrefixes = new List<Affix>(), 
            FinalSuffixes = new List<Affix>();
foreach (AffixGenerator TempGenerator in PossiblePrefixes)
    FinalPrefixes.Add(new Affix(TempGenerator));

foreach (AffixGenerator TempGenerator in PossibleSuffixes)
    FinalSuffixes.Add(new Affix(TempGenerator));

显然一个函数可以使这更简单,但我想知道是否有另一种方法来简化它(可能是lambda)。

2 个答案:

答案 0 :(得分:3)

您可以使用LINQ:

var FinalPrefixes = PossiblePrefixes.Select(p => new Affix(p)).ToList();
var FinalSuffixes = PossibleSuffixes.Select(s => new Affix(s)).ToList();

答案 1 :(得分:2)

使用LINQ&#39; Select ...

var FinalPrefixes = PossiblePrefixes.Select(x => new Affix(x)).ToList();