我在哪里可以找到列表<t> .AddRange()方法?</t>

时间:2011-05-09 19:13:38

标签: c# .net .net-4.0 generic-list

我有一些旧学校的代码如下:

IList<KeyValuePair<string, ValuePair>> ServicePairs = new List<KeyValuePair<string, ValuePair>>();
// ...
foreach (KeyValuePair<string, string> Set in Services)
{
    if (string.Format("{0} (Service)", Set.Value) == c.ColumnName)
    {
        ServicePairs.Add(new KeyValuePair<string, ValuePair>(c.Ordinal.ToString(), new ValuePair { Id = Set.Key, Title = Set.Value }));
    }
}

Resharper建议我通过将其转换为以下内容来实现它:

ServicePairs.AddRange(from Set in Services
                      where string.Format("{0} (Service)", Set.Value) == c.ColumnName
                      select new KeyValuePair<string, ValuePair>(
                          c.Ordinal.ToString(),
                          new ValuePair { Id = Set.Key, Title = Set.Value }));

我想知道的是 - 这个AddRange()方法来自哪里 - 来自Microsoft Prism还是其他地方?



更新:有人指出这是List<T>类的一部分。显然,它不是IList<T>界面的一部分,这是我困惑的根源。谢谢大家。

4 个答案:

答案 0 :(得分:3)

这是a method of the List<T>课程。

答案 1 :(得分:3)

它是List<T>的一部分,是BCL的一部分。

答案 2 :(得分:2)

List<T> iirc中的

System.Collections.Generic

答案 3 :(得分:1)

如果您右键单击AddRange并选择“转到定义”,则可以在VS中找到最简单的方法

您会在课程顶部看到一些变体

#region Assembly mscorlib.dll, v4.0.30319
// C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\mscorlib.dll
#endregion