接受基于优先级的数组行值以形成逗号分隔的字符串



我有一个交错数组

string[][] toMerge;
toMerge[0] = {"School", "Train", "Bag", "Choclate", " ", " "}; 
toMerge[1] = {"College", " ", " " , "chicken", " ", " "}; 
toMerge[2] = {"work", "car", " ", "Burger", " ", " "};

具有另一个单维数组

string[] order = {"College", "Work", "School"};

我需要通过使用顺序数组检查交错数组的第一列来对交错数组进行排序,并根据顺序选择列值并生成逗号分隔的字符串。

在上述情况下,输出应为

String output = "College, Car, Bag, Chicken, , ";

有人可以帮助我为此编写最短的代码吗?

试试这个

            string[][] toMerge = {
                new string[] {"School", "Train", "Bag", "Choclate", " ", " "}, 
                new string[] {"College", " ", " " , "chicken", " ", " "},
                new string[] {"work", "car", " ", "Burger", " ", " "}
                                  };
            List<string> results = new List<string>();
            for (int i = 0; i < toMerge.First().Count(); i++)
            {
                string min = toMerge.Where(x => x[i].Trim().Length > 0).Select(x => x[i]).Min();
                results.Add(min == null ? " " : min);
            }
            Console.WriteLine(string.Join(",",results));
            Console.ReadLine();

最新更新