【问题标题】:How to make two new arrays in C# from one, but not to Consol.writeline all null/ empty places in new arrays?如何在 C# 中从一个数组创建两个新数组,但不将新数组中的所有空/空位置写入 Console.writeline?
【发布时间】:2022-12-08 01:03:24
【问题描述】:

我必须从两个新数组中的一个数组中提取 pozitiv 端负数。如何在 C# 中从一个数组创建两个新数组,而不是 Consol.writeline 新数组中的所有空/空位置?

int[] array = { 12, 23, -22, -823,-4, 351, -999, 62 };

int[] arrayPozitivni = new int [array.Length];

int PozitivniCounter = 0;

for (int i = 0 ; i<array.Length ; i++)
{
    if (array[i] < 0 ) 
       
        {
        arrayPozitivni[PozitivniCounter] = array[i];
        PozitivniCounter++;
    }
   
}
foreach (var item in arrayPozitivni)

      {
        Console.WriteLine(item);
    }

【问题讨论】:

  • 这是一个A+B问题。您已经确定了两件您想做的事情:A) 制作两个新阵列; B) 过滤掉 null/空元素。所以这样一道题的答案就是先做其中一个,再做另一个。你对哪一部分有困难?
  • 当控制台不应该在新数组中打印空格时(并将它们打印为零
  • 你不能只使用 LINQ 吗?

标签: c# arrays .net


【解决方案1】:

LINQ 可以在此处提供帮助,让您的生活更轻松:

int[] arrayPositive = array.Where(i => i >= 0).ToArray();
int[] arrayNegative = array.Where(i => i  < 0).ToArray();

【讨论】:

    【解决方案2】:

    使用 List&lt;T&gt; 而不是数组。与数组不同,列表会在您添加项目时自动增长。

    List<int> listPozitivni = new List<int>();
    

    然后你可以添加项目

    listPozitivni.Add(array[i]);
    

    然后,您可以以与数组相同的方式使用 foreach 来打印数字。

    但请注意,array[i] &lt; 0 将返回负数,而不是正数。

    【讨论】:

      【解决方案3】:
      int[] array = { 12, 23, -22, -823,-4, 351, -999, 62 };
      
      List<int> positiveList= new List<int>();
      
      List<int> negativeList= new List<int>();
      
      for (int i = 0 ; i<array.Length ; i++)
      {
          if (array[i] < 0 ) 
             
              {
                negativeList.Add(array[i]);
              }
              else
              {
                positiveList.Add(array[i]);
              }
         
      }
      int[] arrayPozitivni = positiveList.ToArray(); 
      int[] arraynegative = negativeList.ToArray();
      
      foreach (var item in arrayPozitivni)
      {
              Console.WriteLine(item);
      }
      

      【讨论】:

        猜你喜欢
        • 2018-02-08
        • 2022-07-29
        • 2012-05-12
        • 1970-01-01
        • 2020-03-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-16
        • 1970-01-01
        相关资源
        最近更新 更多