[問題] Array 運算?

看板C_Sharp (C#)作者 (別理我)時間5年前 (2020/04/11 23:17), 5年前編輯推噓2(2011)
留言13則, 3人參與, 5年前最新討論串1/1
三個問題, 我知道用 for 迴圈都可以做到, 但 C# 內是否有簡潔的寫法? (被python慣壞了) 1. 試問二維array 如何將其中一維指定給一維Array? byte[,] array1 = new byte[2, 5]; byte[] array2 = new byte[5]; array2 = array1[0]; 2. 如何將 array 與其他 bool array 做運算? byte[] array1 = new byte[1,2,3,4,5]; bool[] array2 = new byte[false, false, true, true, true]; 能否直接得到 var array3 = [3,4,5]; // 大概是這樣 3. Linq 是否可做到排序好資料的特定位置 用一般寫法很簡單,只是最近在開始練習Linq 想說是否有可能 例如1到100排序好array,取第10個與第90個,Linq該如何寫 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.139.44 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1586618268.A.231.html ※ 編輯: abc95007 (180.217.137.209 臺灣), 04/12/2020 00:21:26

04/12 09:42, 5年前 , 1F
第一題不是二維的陣列吧,二維陣列是[][]
04/12 09:42, 1F

04/12 09:42, 5年前 , 2F
[,]跟[][]是不一樣的
04/12 09:42, 2F

04/12 09:45, 5年前 , 3F
搞錯了XD二維陣列是[,]沒錯,但要達成第一題的條件,可
04/12 09:45, 3F

04/12 09:45, 5年前 , 4F
以用[][]去實現吧
04/12 09:45, 4F

04/13 00:05, 5年前 , 5F
3. ElementAt()
04/13 00:05, 5F

04/13 20:06, 5年前 , 6F
2. Enumerable.Range(0,arrays.Length).Where(i => array2
04/13 20:06, 6F

04/13 20:06, 5年前 , 7F
[i]).Select(i => array1[i]).ToArray()
04/13 20:06, 7F

04/13 20:07, 5年前 , 8F
是說這樣寫還不如用for寫。用手機打code好累
04/13 20:07, 8F

04/13 20:20, 5年前 , 9F
3當然是Array.Sort()之後再index
04/13 20:20, 9F

04/13 20:33, 5年前 , 10F
1.的話Jagged Array輕鬆解決,Multidimensional Arrays的
04/13 20:33, 10F

04/13 20:34, 5年前 , 11F
最後一個維度可以用Buffer.BlockCopy稍微加速,不然就只能
04/13 20:34, 11F

04/13 20:34, 5年前 , 12F
用第二題的寫法了
04/13 20:34, 12F

04/13 20:37, 5年前 , 13F
然後Linq不要亂用,不然效能會很差,例如第三題就是個例子
04/13 20:37, 13F
文章代碼(AID): #1UaT-S8n (C_Sharp)
文章代碼(AID): #1UaT-S8n (C_Sharp)