下面的循环为什么不能安照myPic[i,3]从小到大的顺序排序?
for(int i = 0; i< 5; i++)
{
for(int k=i+1;k<5;k++)
{
if(Convert.ToDateTime(myPic[i,3]) > Convert.ToDateTime(myPic[k,3]))
{
string t_e_id = myPic[k,0];
string t_path = myPic[k,1];
string t_title = myPic[k,2];
string t_startdate = myPic[k,3];
string t_recurring = myPic[k,4];
myPic[k,0] = myPic[i,0];
myPic[k,1] = myPic[i,1];
myPic[k,2] = myPic[i,2];
myPic[k,3] = myPic[i,3];
myPic[k,4] = myPic[i,4];
myPic[i,0] = t_e_id;
myPic[i,1] = t_path;
myPic[i,2] = t_title;
myPic[i,3] = t_startdate;
myPic[i,4] = t_recurring;
}
}
}
for(int i = 0; i< 5; i++)
{
for(int k=i+1;k<5;k++)
{
if(Convert.ToDateTime(myPic[i,3]) > Convert.ToDateTime(myPic[k,3]))
{
string t_e_id = myPic[k,0];
string t_path = myPic[k,1];
string t_title = myPic[k,2];
string t_startdate = myPic[k,3];
string t_recurring = myPic[k,4];
myPic[k,0] = myPic[i,0];
myPic[k,1] = myPic[i,1];
myPic[k,2] = myPic[i,2];
myPic[k,3] = myPic[i,3];
myPic[k,4] = myPic[i,4];
myPic[i,0] = t_e_id;
myPic[i,1] = t_path;
myPic[i,2] = t_title;
myPic[i,3] = t_startdate;
myPic[i,4] = t_recurring;
}
}
}
static void Main(string[] args)
{ int[,] myPic = new int[5, 5];
for (int j = 0; j < 5; j++)
{
for (int n = 0; n < 5; n++)
{
myPic[j, n] = n+1-j;
Console.Write(myPic[j, n].ToString() +" ");
}
Console.WriteLine();
}
Console.WriteLine("-------------------------------");
for (int i = 0; i < 5; i++)
{
for (int k = i + 1; k < 5; k++)
{
if (myPic[i, 3] >myPic[k, 3])
{
int t_0 = myPic[k, 0];
int t_1 = myPic[k, 1];
int t_2 = myPic[k, 2];
int t_3 = myPic[k, 3];
int t_4 = myPic[k, 4];
myPic[k, 0] = myPic[i, 0];
myPic[k, 1] = myPic[i, 1];
myPic[k, 2] = myPic[i, 2];
myPic[k, 3] = myPic[i, 3];
myPic[k, 4] = myPic[i, 4];
myPic[i, 0] = t_0;
myPic[i, 1] = t_1;
myPic[i, 2] = t_2;
myPic[i, 3] = t_3;
myPic[i, 4] = t_4;
}
}
} for (int jj = 0; jj < 5; jj++)
{
for (int nn = 0; nn < 5; nn++)
Console.Write(myPic[jj, nn].ToString() +" ");
Console.WriteLine();}
Console.ReadLine();}
}
比方说 如果将字符串“12/12”转化为日期型时得到的结果是2006/12/12。
就是说Convert.ToDateTime(myPic[i,3]) > Convert.ToDateTime(myPic[k,3])
这个条件可能误导你。