以下数据,X,Y数据
X1,1=ab+bd|
X1,2=bd+cd|
X2,1=ad+ce|
X2,2=cd+cf|
X2,3=aa+bb|
X2,4=cc+dd|
X3,1=dd+ee|
X3,2=ee+ff|
X3,3=ff+bd|Y1,1=ad+bd|
Y1,2=ad+dd|
Y1,3=ad+ed|
Y2,1=ad+cd|
Y2,2=ad+sd|
Y3,1=ad+rd|
Y3,2=ad+td|
Y3,3=ad+dd|
如何做成X1,与Y1对应起来(先列出x1再列出y1),如下所示
X1,1=ab+bd|
X1,2=bd+cd|
Y1,1=ad+bd|
Y1,2=ad+dd|
Y1,3=ad+ed|X2,1=ad+ce|
X2,2=cd+cf|
X2,3=aa+bb|
X2,4=cc+dd|
Y2,1=ad+cd|
Y2,2=ad+sd|X3,1=dd+ee|
X3,2=ee+ff|
X3,3=ff+bd|
Y3,1=ad+rd|
Y3,2=ad+td|
Y3,3=ad+dd|

解决方案 »

  1.   

    主要就是要实现x1与y1,x2,y2和x3,y3对应起来呢?
    “=”后面的数据不用考虑的。
      

  2.   


    static void Main(string[] args)
            {
                string[,] x = new string[,] { { "ab+bd|", "bd+cd|" }, { "ad+ce|", "cd+cf|" } };
                string[,] y = new string[,] { { "ab+bd|", "bd+cd|" }, { "ad+ce|", "cd+cf|" } };
                int rank = 0;
                while (rank < x.Rank || rank < y.Rank)
                {
                    if (rank < x.Rank)
                    {
                        for (int i = 0; i < x.GetLength(rank); i++)
                        {
                            Console.WriteLine("x{0},{1}={2}", rank, i, x[rank, i]);
                        }
                    }
                    if (rank < y.Rank)
                    {
                        for (int i = 0; i < y.GetLength(rank); i++)
                        {
                            Console.WriteLine("y{0},{1}={2}", rank, i, y[rank, i]);
                        }
                    }
                    Console.WriteLine("         ");
                    rank++;
                }
                Console.Read();
            }
      

  3.   


    string [] x=new string []{"X1,1=ab+bd|","X1,2=bd+cd|","X2,1=ad+ce|","X2,2=cd+cf|","X2,3=aa+bb|","X2,4=cc+dd|"};
    string [] y=new string []{"Y1,1=ad+bd|","Y1,2=ad+dd|","Y1,3=ad+ed|","Y2,1=ad+cd|","Y2,2=ad+sd|"};for(int i=0;i<x.Length;i++)
    {
    if((i+1<x.Length)&&(x[i].Substring(0,2)==x[i+1].Substring(0,2)))
       {
         continue;
        }
    else
        {
          x[i]=x[i]+"@";
        }
    }for(int i=0;i<y.Length;i++)
    {
     if((i+1<y.Length)&&(y[i].Substring(0,2)==y[i+1].Substring(0,2)))
        {
         continue;
        }
    else{
          y[i]=y[i]+"@";
        }
    }
    string xx=null;
    string yy=null;
    for(int n=0;n<x.Length;n++)
    {
     xx=xx+x[n];
    }
    for(int m=0;m<y.Length;m++)
    {
     yy=yy+y[m];
    }
    string [] X=xx.Trim('@').Split('@');
    string [] Y=yy.Trim('@').Split('@');
    string [] RE=new string [X.Length];
    for(int k=0;k<X.Length;k++)
    {
    if(X[k].Substring(1,1)==Y[k].Substring(1,1))
     {
       RE[k]=X[k]+""+Y[k];
      }
    }