How to create an array from a 2D array that only includes the non-zero elements in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        int[,] array = {
            { 1, 0, 8, 2 },
            { 0, 7, 3, 0 },
            { 9, 0, 0, 4 }
        };

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

        // Collect non-zero elements
        foreach (int element in array) {
            if (element != 0) {
                nonZeroList.Add(element);
            }
        }

        // Convert the list back to a one-dimensional array
        int[] resultArray = nonZeroList.ToArray();


        foreach (int element in resultArray) {
            Console.Write(element + " ");
        }
    }
}


  
/*
run:
  
1 8 2 7 3 9 4 
  
*/

 



answered Feb 12, 2025 by avibootz
...