我编写了一个小扩展方法,将值添加到List的开头。
这是代码;
public static class ExtensionMethods
{
public static void AddBeginning<T>(this List<T> item, T itemValue, ref List<T> currentList)
{
List<T> tempList = new List<T> {itemValue};
tempList.AddRange(currentList);
currentList = tempList;
}
}
因此我可以将值添加到列表的开头,我必须使用ref
关键字。
有人建议必须修改这个扩展方法来摆脱ref关键字吗?
答案 0 :(得分:6)
您只需拨打currentList.Insert(0, itemValue);
即可插入开头。
修改强>
注意 - 此代码将修改列表实例,而原始代码将列表保持原样并生成一个新列表,其中包含在开头插入的附加数据。
答案 1 :(得分:4)
public static void AddBeginning<T>(this List<T> currentList, T itemValue)
{
currentList.Insert(0, itemValue);
}
真的有助于阅读您正在使用的课程的文档。
另外,我建议直接使用Insert
,而不是使用此扩展方法。
答案 2 :(得分:0)
使用List Insert method并提供您想要添加新值(0)的索引?