[問題] 兩矩陣,一矩陣排序後同理於另一矩陣

看板C_Sharp (C#)作者 (pART)時間10年前 (2015/06/19 17:44), 10年前編輯推噓4(401)
留言5則, 5人參與, 最新討論串1/1
標題實在不知道怎麼打 @_@" 要問的問題有點複雜 我盡量講清楚一些 有一個DateTime list 裡面存三筆日期 List<DateTime> mylist = new List<DateTime> { 2014/8/2, 2014/1/16, 2015/6/19 }; 另外還創了一個 _id的list 裡面的字串分別代表 mylist的星期 List<string> _id = new List<string> { "Sat", "Wed", "Fri" }; 之後把 mylist 照日期排,也就變成 mylist[0] = 2014/1/16 mylist[1] = 2014/8/2 mylist[2] = 2015/6/19 但我也想把 _id 裡的日期按照 mylist 的index變化作處理 期望看到的是: _id[0] = Wed _id[1] = Sat _id[2] = Fri 這問題是雙list之間的index變化 我用硬解法有寫出來(程式碼在最下面),但用兩個for loop感覺速度就很慢... 不知道C#有沒有內建的功能可以辦到 Source code: (從Main以下開始) List<string> _id = new List<string> { "Sat", "Wed", "Fri" }; List<string> _newid = new List<string>(); DateTime _for1 = new DateTime(2014, 8, 2); DateTime _for2 = new DateTime(2014, 1, 16); DateTime _for3 = new DateTime(2015, 6, 19); DateTime[] backup = new DateTime[3] { _for1, _for2, _for3 }; List<DateTime> mylist = new List<DateTime> { _for1, _for2, _for3 }; mylist.Sort((x, y) => { return x.Date.CompareTo(y.Date); }); for (int i = 0; i < backup.Count(); i++) { for (int j = 0; j < list.Count(); j++) { if (backup[j] == mylist[i]) { _newid.Add(_id[j]); } } } Console.WriteLine("{0}\n{1}\n{2}", _newid[0], _newid[1], _newid[2]); Console.ReadLine(); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.137.20.70 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1434707062.A.D67.html

06/19 17:50, , 1F
日期與星期合成一個類別,排序那個類別
06/19 17:50, 1F
這方法好像不錯,待會來試試 有問題還請j大教我 ^_^ 補充: 謝j大說的方法 已簡單的完成了

06/19 18:14, , 2F
你是想要做一個可以排序的 KeyValuePair ?
06/19 18:14, 2F
這名詞好專業,可以請大大講解一下嗎

06/19 22:16, , 3F
有日期不就知道是星期幾了?
06/19 22:16, 3F

06/19 22:19, , 4F
DayOfWeek 屬性不就有星期幾了?
06/19 22:19, 4F
我打的這個是一個例子 假設把_id裡的value改成其他的,就沒辦法那樣做了 ※ 編輯: nature23306 (140.137.20.70), 06/20/2015 15:39:02 ※ 編輯: nature23306 (140.137.20.70), 06/20/2015 18:29:32

07/24 18:18, , 5F
自訂類別啊
07/24 18:18, 5F
文章代碼(AID): #1LW-Hsrd (C_Sharp)
文章代碼(AID): #1LW-Hsrd (C_Sharp)