在C#中獲取數組尾部的最簡單方法是什麼?除了第一個元素。獲取數組的尾部
獲取數組的尾部
回答
var myArray = GetSomeArray();
myArray = myArray.Skip(1).ToArray();
注意,我會避免調用.ToArray()儘可能並堅持在.NET中使用IEnumerable<T>
代替。
但是......如果你打算像上面那樣調用ToArray,那麼使用Array.Copy可能會更有效率,因爲我不相信ToArray將會知道足夠的輸入來初始化數組長度爲-1。 – Josh 2010-05-17 04:11:20
@Josh:這是真的(我假設'ToArray'可以通過在內部建立一個'List'並在*上調用'ToArray')來工作,但是如果你只是簡單地不調用'ToArray'會更好沒必要。 – 2010-05-17 04:17:22
var array1 = new int[] { 1, 2, 3, 4, 5, 6 };
var array2 = new int[array1.Length - 1];
Array.Copy(array1, 1, array2, 0, array2.Length);
// array2 now contains {2, 3, 4, 5, 6}
編輯:喬爾Coehoorn的答案是更好,因爲它意味着你可以完全避免使用數組!
哈哈叫我老學校,但嘿其有效!
for(int i = 1; i<array.length;i++)
{
array2[i-1]=array[i];
}
:P
,或者你可以得到他們,如果他們是在一個方法,你只需要打電話給他們,只是取決於你想用尾巴做什麼。
for(int i = 1; i<array.length;i++)
{
yield return array[i];
}
我更喜歡codeka的答案,因爲它非常簡單,可能是最有效的做事方式。但是,正如你所看到的,當你需要時並不是最簡單的實現。
我有一些非常相似的東西,作爲擴展方法,所以你可以調用SubArray,它的行爲就像字符串上的Substring。
喜歡的東西:
public static T[] SubArray<T>(this T[] array, int startIndex, int length)
{
// various null, empty, out of range checks here
T[] returnArray = new T[length];
Array.Copy(array, startIndex, returnArray, 0, length);
return returnArray;
}
var array1 = new[] { 1, 2, 3, 4, 5 };
var arrays2 = array1.SubArray(2, 3);
您可以實現一些其他的過載,如:
public static T[] SubArray<T>(this T[] array, int startIndex)
{
// null check here
return SubArray(array, startIndex, array.Length - startIndex);
}
using System.Linq;
var array = new [] { 1, 2, 3, 4 };
var tail = array.Reverse().Take (array.Length - 1).Reverse();
- 1. 獲取C中字符串的尾部
- 2. 如何從root_path獲取尾部斜槓?
- 3. 模式對數組的尾部
- 4. 獲取char數組的一部分
- 5. 獲取數組的1個部分
- 6. 數組可以有尾部填充嗎?
- 7. 從ByteArrayInputStream獲取內部字節數組
- 8. Android從json數組中獲取內部的json數組
- 9. 從數組內部的數組中獲取對象
- 10. 取N與zipWith和尾部
- 11. std :: string - 從頭到尾獲取數據
- 12. 獲取數組
- 13. 獲取數組
- 14. 獲取數組
- 15. 獲取Groovy中的多個賦值中的列表尾部
- 16. PHP - 獲取URL並刪除尾部的斜槓
- 17. 如何獲取Linux實用程序尾部的源代碼?
- 18. 從numpy數組中刪除頭部和尾部PYTHON
- 19. 如何獲取數組中的數組?
- 20. 獲取字符數組的子數組
- 21. 獲取每個組的頂部行
- 22. Postgres的:獲取哪部分是一組
- 23. 獲取全部物品的組合
- 24. 從數組的尾部刪除不需要的元素?
- 25. 獲取數組值
- 26. 獲取TextViews數組
- 27. PHP獲取數組
- 28. 獲取NSUserDefault數組
- 29. 如何在C#中的二維數組中獲取內部數組的長度?
- 30. jQuery的獲取JSON數組
有你的問題的多種解釋:你要的數組的副本元素?你想迭代原始數組,跳過第一個? – 2010-05-17 04:03:58