C# 这里的最佳方法称为。请查一下。下面的伪代码将帮助您 INPUT: items AS ARRAY[9] DECLARE: colors AS ARRAY[12] //will hold final results for each color FOR(i = 0 UPTO 11) colors[i] = NEW ARRAYLIST //will hold the final result for color no. i FOR(j = 0 UPTO items.length) itm = items[j] colr = itm.value //take the color, should be between 0-11 bucket = colors[colr] //bucket is the arraylist coresponding to color bucket.add(itm) //store the item in its color's bucket

C# 这里的最佳方法称为。请查一下。下面的伪代码将帮助您 INPUT: items AS ARRAY[9] DECLARE: colors AS ARRAY[12] //will hold final results for each color FOR(i = 0 UPTO 11) colors[i] = NEW ARRAYLIST //will hold the final result for color no. i FOR(j = 0 UPTO items.length) itm = items[j] colr = itm.value //take the color, should be between 0-11 bucket = colors[colr] //bucket is the arraylist coresponding to color bucket.add(itm) //store the item in its color's bucket,c#,arrays,sorting,C#,Arrays,Sorting,循环完成后,您将获得颜色数组中的项目。请注意,数组的每个单元格本身就是一个ArrayList。因此,它将包含一系列项 colors[0] = { item[0], item[6], ...} colors[1] = { item[4], item[9], ...} colors[2] = { item[7], ...} ... ... colors[11] = {...} 试着把它译成C。如果您失败了,请询问。您事先知道所有可能的值是什么吗?它总是这三个中的一个吗?可能性是有限的

循环完成后,您将获得
颜色
数组中的项目。请注意,数组的每个单元格本身就是一个
ArrayList
。因此,它将包含一系列

colors[0]  = { item[0], item[6], ...}
colors[1]  = { item[4], item[9], ...}
colors[2]  = { item[7], ...}
  ...
  ...
colors[11] = {...}

试着把它译成C。如果您失败了,请询问。

您事先知道所有可能的值是什么吗?它总是这三个中的一个吗?可能性是有限的还是无限的?
数组的最大可能大小是多少?这些值是真正的字符串还是其他值(整数?),您使用的是红/绿/蓝的类比?红-蓝和绿的数据类型是什么?这和你问题中提到的整数有什么关系?红色是int,绿色是1,2,依此类推。为了便于理解,我把颜色val放在这里。对不起,我把你弄糊涂了。:)@好奇的事实上是的。在项目中输入值[x],x始终为0-9,颜色始终为12或更少颜色什么是
项目的数据类型(类)
值的值是多少。您可以通过将鼠标悬停在它上面来查看它。您事先知道所有可能的值是什么吗?它总是这三个中的一个吗?可能性是有限的还是无限的?
数组的最大可能大小是多少?这些值是真正的字符串还是其他值(整数?),您使用的是红/绿/蓝的类比?红-蓝和绿的数据类型是什么?这和你问题中提到的整数有什么关系?红色是int,绿色是1,2,依此类推。为了便于理解,我把颜色val放在这里。对不起,我把你弄糊涂了。:)@好奇的事实上是的。在项目中输入值[x],x始终为0-9,颜色始终为12或更少颜色什么是
项目的数据类型(类)
值的值是多少。你可以把鼠标悬停在上面看。嗨,我对C#很陌生,所以让我进一步解释一下我的情况。我从一个类中获取一个排序集合,该类返回类似item.value[1]。color,item.value[2]。color在此我要对item.value[0]进行分组,它基于item.value[x]。color value。如果我把你弄糊涂了,我很抱歉:)按照你的建议编辑了原始问题。谢谢,我对C#很陌生,所以让我进一步解释一下我的情况。我从一个类中获取一个排序集合,该类返回类似item.value[1]。color,item.value[2]。color在此我要对item.value[0]进行分组,它基于item.value[x]。color value。如果我把你弄糊涂了,我很抱歉:)按照你的建议编辑了原始问题。谢谢
item.value[0].color = red
item.value[0].color = blue
item.value[0].color = green
item.value[0].color = red
item.value[0].color = red
item.value[0].color = blue
Group Red will have item.value[0], item.value[3], item.value[4]
Group blue will have item.value[1], item.value[5]
int[] colors = { item.value[0].value, item.value[1].value, item.value[2].value };

int[] Red = colors.Where(c => c == "Red").ToArray();
List<Color> colors = new List<Color>{Color.Red, Color.Red, Color.Blue, Colour.Green};
Color[] red = colors.Where(c => c == Color.Red).ToArray();
Color[] blue = colors.Where(c => c == Color.Blue).ToArray();
Color[] green = colors.Where(c => c == Color.Green).ToArray();
var groups = item.GroupBy(x => x).Select(color => color.ToList()).ToList();
        string[] item = new string[6];
        item[0] = "red";
        item[1] = "blue";
        item[2]= "green";
        item[3] = "red";
        item[4]= "red";
        item[5] = "blue";
 string[] redArray = item.Where(c => c == "red").ToArray();
item[] redArray = item.Where(c => c.Value == "red").ToArray();
int[] colors = { item.value[0], item.value[1], item.value[2] };

var Red = colors.Where(c => c.value == "Red").ToArray();
        private void button1_Click(object sender, EventArgs e)
        {
            List<Color> item = new List<Color>();

            item.Add(Color.blue);
            item.Add(Color.red);
            item.Add(Color.blue);
            item.Add(Color.red);
            item.Add(Color.red);
            item.Add(Color.green);

            List<Color> red = item.Where(x => x.Equals(Color.red)).ToList();
            List<Color> blue = item.Where(x => x.Equals(Color.blue)).ToList();
            List<Color> green = item.Where(x => x.Equals(Color.green)).ToList();
        }
        enum Color
        {
           red,
           blue,
           green
        }
INPUT:    items   AS ARRAY[9]      

DECLARE:  colors  AS ARRAY[12]       //will hold final results for each color

FOR(i = 0 UPTO 11)
    colors[i] = NEW ARRAYLIST        //will hold the final result for color no. i

FOR(j = 0 UPTO items.length)
    itm = items[j]
    colr = itm.value                 //take the color, should be between 0-11
    bucket = colors[colr]            //bucket is the arraylist coresponding to color
    bucket.add(itm)                  //store the item in its color's bucket
colors[0]  = { item[0], item[6], ...}
colors[1]  = { item[4], item[9], ...}
colors[2]  = { item[7], ...}
  ...
  ...
colors[11] = {...}