看板 C_Sharp 關於我們 聯絡資訊
標題實在不知道怎麼打 @_@" 要問的問題有點複雜 我盡量講清楚一些 有一個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
johnpage: 日期與星期合成一個類別,排序那個類別 06/19 17:50
這方法好像不錯,待會來試試 有問題還請j大教我 ^_^ 補充: 謝j大說的方法 已簡單的完成了
YahooTaiwan: 你是想要做一個可以排序的 KeyValuePair ? 06/19 18:14
這名詞好專業,可以請大大講解一下嗎
CrazyAngel: 有日期不就知道是星期幾了? 06/19 22:16
fo40225: DayOfWeek 屬性不就有星期幾了? 06/19 22:19
我打的這個是一個例子 假設把_id裡的value改成其他的,就沒辦法那樣做了 ※ 編輯: nature23306 (140.137.20.70), 06/20/2015 15:39:02 ※ 編輯: nature23306 (140.137.20.70), 06/20/2015 18:29:32
finalshinji: 自訂類別啊 07/24 18:18