标题实在不知道怎么打 @_@"
要问的问题有点复杂 我尽量讲清楚一些
有一个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();