在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. OCaml-如何獲取元組列表的尾部?
- 3. 在Lua中,如何獲取數組的尾部而不復制它?
- 4. 如何從root_path獲取尾部斜槓?
- 5. 在ExpressionEngine 2中獲取尾部斜線?
- 6. 模式對數組的尾部
- 7. 獲取數組中的一部分
- 8. 獲取數組的1個部分
- 9. 獲取總數的內部元件組
- 10. 獲取char數組的一部分
- 11. 獲取一組數據末尾的地址?
- 12. 獲取頭部和嵌套列表的尾部
- 13. 數組可以有尾部填充嗎?
- 14. ?在捕獲組的末尾
- 15. 從ByteArrayInputStream獲取內部字節數組
- 16. 從外部Json獲取數組
- 17. Android從json數組中獲取內部的json數組
- 18. 從數組內部的數組中獲取對象
- 19. 獲取前一個對象到數組結尾()
- 20. 取N與zipWith和尾部
- 21. 獲取數組
- 22. 獲取數組
- 23. 獲取數組
- 24. 獲取數組
- 25. std :: string - 從頭到尾獲取數據
- 26. 如何從PHP的末尾獲取字符串的一部分?
- 27. 獲取Groovy中的多個賦值中的列表尾部
- 28. 獲取路徑的組成部分作爲數組
- 29. PHP - 獲取URL並刪除尾部的斜槓
- 30. 如何獲取Linux實用程序尾部的源代碼?
有你的問題的多種解釋:你要的數組的副本元素?你想迭代原始數組,跳過第一個? – 2010-05-17 04:03:58