反转数组中的所有元素

use*_*348 1 c# arrays reverse

我不能使用反向方法,因为它只能在数组完全填充时使用.这个数组只会被部分填充,所以我该怎么办?这是我的代码:

    if (mContactsIndex == 0)
        MessageBox.Show("Array is empty");

    string tempContact;
    int ctr;
    for (ctr = 0; ctr < mContactsIndex; ctr++)
    {
        tempContact = mContacts[ctr];
        mContacts[ctr] = mContacts[mContactsIndex ];
        mContacts[mContactsIndex ] = tempContact;
        displayContacts();
    }
Run Code Online (Sandbox Code Playgroud)

它究竟出了什么问题?

Tim*_* S. 8

如果您有一个部分填充的数组,您可能希望使用List<T>替代.它就像一个数组,但它的大小是可变的.

如果您确实想要使用数组,则可以使用它Array.Reverse来反转您想要的部分:

Array.Reverse(mContacts, 0, mContactsIndex);
Run Code Online (Sandbox Code Playgroud)