对INT变量进行排序C#

时间:2017-07-01 16:24:01

标签: c# arrays sorting rank

我刚开始用c#编程;

我得到了一个我要排序的int变量列表,并找到了数字1.

int Weapon_Count1, Weapon_Count2, Weapon_Count3, Weapon_Count4, Weapon_Count5, Weapon_Count6, Weapon_Count7, Weapon_Count8, Weapon_Count9

我是否需要使用数组执行此操作?

通过使用C#的黄皮书,我发现了如何制作数组,但我无法弄清楚如何将变量分配给数组。

int [] Weapon_Count = new int [11]  ;
for ( int i=0; i<11; i=i+1)
{
Weapon_Count [i] =  ??? ;}

我希望这确实有意义。

4 个答案:

答案 0 :(得分:0)

最简单的方法是假设有一个有限的变量列表要检查,将它们放入临时数组并从{{1}调用Max()Min() } namespace。

System.Linq

修改

如果您仍想将这些变量放入数组中,我建议使用具有动态大小的int maxCount = new int[] { Weapon_Count1, Weapon_Count2, Weapon_Count3, Weapon_Count4, Weapon_Count5, Weapon_Count6, Weapon_Count7, Weapon_Count8, Weapon_Count9 }.Max(); // or .Min() 和辅助方法(如System.Collections.Generic.List)来简化操作。列表也可以与Linq函数一起使用,类似于我的答案的第一部分。有关不同C#数据类型和函数的一些非常好的示例,请参阅Dot Net Perls

编辑2

正如@kblok所说,您需要在文件顶部添加.Add()才能访问Max和Min等功能。如果您想尝试使用列表类型,则还需要添加using System.Linq;。如果你在Visual Studio 2017(也许是2015年?),你可以输入数据类型,然后点击using System.Collections.Generic;以获得可能包含该数据类型的命名空间的建议。

答案 1 :(得分:0)

请让我解释如何使用C#-array。

这将创建一个包含5个元素的整数整数数组:

int[] a1= new int[5];

分配值9,8,7,6和5:

(请注意,只能使用0到4之间的索引。索引5无效。)

a1[0]=9;
a1[1]=8;
a1[2]=7;
a1[3]=6;
a1[4]=5;

只需一行即可实现同样的目标:

int[] a1= new int[] {9,8,7,6,5};

答案 2 :(得分:0)

这可能会对你有帮助。

        // Declaring the array
        int[] Weapon_Count;

        // Initializing the array with a size of 11
        Weapon_Count = new int[11];

        // Adding values to the array
        for (int i = 0; i < Weapon_Count.Length; i++)
        {
            Weapon_Count[i] = i + 100;
        }

        // Printing the values in the array
        for (int i = 0; i < Weapon_Count.Length; i++)
        {
            Console.WriteLine(Weapon_Count[i]);
        }


        // Same thing with a list
        // Daclare and initializing the List of integers
        List<int> weapon_list = new List<int>();

        // Adding some values 
        weapon_list.Add(1);
        weapon_list.Add(2);
        weapon_list.Add(3);
        weapon_list.Add(4);
        weapon_list.Add(5);

        // Printing weapin_list's values
        for (int i = 0; i < weapon_list.Count; i++)
        {
            Console.WriteLine(weapon_list[i]);
        }

        // This is just for the console to wait when you are in debug mode.
        Console.ReadKey();

如果你想使用列表(简言之 - 可以改变大小的动态数组),别忘了包含使用语句。

using System.Collections.Generic;

答案 3 :(得分:0)

在开始之前,您可以编辑您的数组,如下所示:

int[] weapons = { Weapon_Count1, Weapon_Count2, Weapon_Count3, Weapon_Count4, Weapon_Count5, Weapon_Count6, Weapon_Count7, Weapon_Count8, Weapon_Count9 };

这意味着您已经创建了一个名为武器的数组,并且它保存了整数值。

执行此操作后,让我们找出数组中哪个元素的值为1。 找出哪个值有价值&#34; 1&#34;我们必须查看数组中的每个元素,我们可以通过几种方式执行此操作,但我建议foreachfor loop,在这种情况下,我将选择foreach循环。

foreach(var item in weapons)
{
   if (item == 1)
   //Do something 
}

这意味着,循环遍历我的所有元素,如果其中一些等于第一,请做点什么......

P.S

(我可以建议创建一个变量,它将保存一个有价值的元素&#39; 1&#39;当你在一个循环中找到它并将该变量赋予该元素时,以后你可以做任何你想做的事情使用那个变量..如果你认为会有更多的元素值为第一,你需要所有这些元素,而不是我上面提到的变量,你将创建list或数组来保存你的所有元素。你可以随时随地做任何你想做的事。)

谢谢,如果您对此类解决方案感兴趣,请给我留言,如果您仍在努力,请让我帮助您解决此问题。