[英]Obtain the result in easier way
我需要獲得一個包含原始數組的反向備用元素的數組。
例如:包含元素{12,56,67}的數組。
我需要獲取一個包含{67,12}的數組(反轉數組以獲取{67,56,12},然后采用備用元素表示{67,12})
我需要在C#中執行此操作
這不會是您得到的最短答案,但是對我來說似乎很優化。
int[] rgIn = new int[]{0,1,2,3,4,5};
int[] rgOut = new int[rgIn.Length / 2];
int ixOut = 0;
for (int ixIn = rgIn.Length - 2; ixIn >= 0; ixIn -= 2)
{
rgOut[ixOut++] = rgIn[ixIn];
}
如果您使用的是C#3,請嘗試以下操作:
int[] array = {1,2,3,4,5,6};
var x = array.Reverse().Where( (n,i) => i % 2 !=0);
擴展方法(C#3.0中的新增功能)在哪里,該方法構成了稱為LINQ的語言功能的一部分。 它根據謂詞過濾序列。 在上面的示例中,n是序列中的元素,i是序列中該元素的從零開始的索引。 兩者都是強類型。 謂詞i%2!= 0表示元素的索引不能直接被2整除,因此我們要說的是反轉列表並從中選擇奇數元素。
不是最有效的解決方案,而是簡潔明了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.