扩展方法问题.为什么我需要使用someObj = someObj.somemethod();

Hca*_*tek 0 c# arrays generics extension-methods

我有一个简单的扩展方法,我想用它来添加项目数组.

public static T[] addElement<T>(this T[] array, T elementToAdd)
{
    var list = new List<T>(array) { elementToAdd };
    return list.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我使用它时,我必须将数组设置为等于返回值.我看到我正在返回一个数组.我可能希望这种方法无效,但我希望添加该项目.有没有人对我需要做什么有任何想法,让这项工作按照我想要的方式进行?

而不是someArray = someArray.addElement(item),我只想做someArray.addElement(item),然后someArray准备好了.我在这里错过了什么?

JSB*_*ոգչ 8

内置数组具有固定大小,因此无法以这种方式进行修改.如果您想要一个动态大小的数组,请使用List<T>.