Nice programing

배열의 내용을 가로로 인쇄하는 방법은 무엇입니까?

nicepro 2020. 11. 16. 22:08
반응형

배열의 내용을 가로로 인쇄하는 방법은 무엇입니까?


콘솔 창에서 배열 내용을 세로가 아닌 가로로 인쇄하지 않는 이유는 무엇입니까?

그것을 바꿀 수있는 방법이 있습니까?

배열의 내용을 세로 대신 가로로 표시하려면 어떻게해야 Console.WriteLine()합니까?

예를 들면 :

int[] numbers = new int[100]
for(int i; i < 100; i++)
{
    numbers[i] = i;
}

for (int i; i < 100; i++) 
{
    Console.WriteLine(numbers[i]);
}

아마도 Console.WriteLine어레이 인쇄에 사용 하고 있을 것입니다 .

int[] array = new int[] { 1, 2, 3 };
foreach(var item in array)
{
    Console.WriteLine(item.ToString());
}

모든 항목을 별도의 줄에 표시하지 않으려면 다음을 사용하십시오 Console.Write.

int[] array = new int[] { 1, 2, 3 };
foreach(var item in array)
{
    Console.Write(item.ToString());
}

또는 string.Join<T>(.NET Framework 4 이상) :

int[] array = new int[] { 1, 2, 3 };
Console.WriteLine(string.Join(",", array));

내가 제안 할게 :

foreach(var item in array)
  Console.Write("{0}", item);

위에 쓰여진 것처럼 하나의 항목이 null.

Console.Write(string.Join(" ", array));

배열이 string[]


배열을 반복하고 Write대신 다음을 사용하여 항목을 콘솔에 씁니다 WriteLine.

foreach(var item in array)
    Console.Write(item.ToString() + " ");

항목에 줄 바꿈이 없으면 단일 줄이 생성됩니다.

... 또는 Jon Skeet이 말했듯이 질문에 대한 컨텍스트를 조금 더 제공하십시오.


foreach(var item in array)
Console.Write(item.ToString() + "\t");

namespace ReverseString
{
    class Program
    {
        static void Main(string[] args)
        {

            string stat = "This is an example of code" + "This code has written in C#\n\n";

            Console.Write(stat); 

            char[] myArrayofChar = stat.ToCharArray();

            Array.Reverse(myArrayofChar);

            foreach (char myNewChar in myArrayofChar)
                Console.Write(myNewChar);            // Yuo just need to write the function Write instead of WriteLine

            Console.ReadKey();


        }
    }
}

이것은 출력입니다

#C ni nettirw sah edoc sihTedoc fo elpmaxe na si sihT

    public static void Main(string[] args)
        {
            int[] numbers = new int[10];

            Console.Write("index ");

            for (int i = 0; i < numbers.Length; i++)
            {
                numbers[i] = i;

                Console.Write(numbers[i] + " ");

            }

            Console.WriteLine("");

            Console.WriteLine("");

            Console.Write("value ");

            for (int i = 0; i < numbers.Length; i++)
            {
                numbers[i] = numbers.Length - i;

                Console.Write(numbers[i] + " ");

            }

            Console.ReadKey();
        }
    }
}

int[] n=new int[5];

for (int i = 0; i < 5; i++)
{
    n[i] = i + 100;
}

foreach (int j in n)
{
    int i = j - 100;

    Console.WriteLine("Element [{0}]={1}", i, j);
    i++;
}

이와 같은 배열 배열을 꽤 인쇄해야한다면 http://aaron-hoffman.blogspot.com/2013/11/pretty-print-array-of-arrays-in-net-c.html

public string PrettyPrintArrayOfArrays(int[][] arrayOfArrays)
{
  if (arrayOfArrays == null)
    return "";

  var prettyArrays = new string[arrayOfArrays.Length];

  for (int i = 0; i < arrayOfArrays.Length; i++)
  {
    prettyArrays[i] = "[" + String.Join(",", arrayOfArrays[i]) + "]";
  }

  return "[" + String.Join(",", prettyArrays) + "]";
}

출력 예 :

[[2,3]]

[[2,3],[5,4,3]]

[[2,3],[5,4,3],[8,9]]

Console.Write 사용은 스레드가 콘솔에 쓰는 유일한 스레드 인 경우에만 작동합니다. 그렇지 않으면 출력이 다른 원치 않는 문자뿐만 아니라 줄 바꿈을 삽입하거나 삽입하지 않을 수있는 다른 출력과 산재 해있을 수 있습니다. 배열이 그대로 인쇄되도록하려면 Console.WriteLine을 사용하여 하나의 문자열을 작성하십시오. 대부분의 객체 배열은 .NET 4.0 이전에 사용할 수있는 비 제네릭 조인을 사용하여 (유형의 ToString () 메서드에 따라) 가로로 인쇄 할 수 있습니다.

        int[] numbers = new int[100];
        for(int i= 0; i < 100; i++)
        {
            numbers[i] = i;
        }

        //For clarity
        IEnumerable strings = numbers.Select<int, string>(j=>j.ToString());
        string[] stringArray = strings.ToArray<string>();
        string output = string.Join(", ", stringArray);
        Console.WriteLine(output);

        //OR 

        //For brevity
        Console.WriteLine(string.Join(", ", numbers.Select<int, string>(j => j.ToString()).ToArray<string>()));

아래 솔루션은 가장 간단한 것입니다.

Console.WriteLine("[{0}]", string.Join(", ", array));

산출: [1, 2, 3, 4, 5]

또 다른 짧은 해결책

Array.ForEach(array,  val => Console.Write("{0} ", val));

Output: 1 2 3 4 5, Or if you need to add add , use below

int i = 0;
Array.ForEach(array,  val => Console.Write(i == array.Length -1) ? "{0}" : "{0}, ", val));

Output: 1, 2, 3, 4, 5


private int[,] MirrorH(int[,] matrix)               //the method will return mirror horizintal of matrix
{
    int[,] MirrorHorizintal = new int[4, 4];
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j ++)
        {
            MirrorHorizintal[i, j] = matrix[i, 3 - j];
        }
    }
    return MirrorHorizintal;
}

참고URL : https://stackoverflow.com/questions/3700448/how-to-print-contents-of-array-horizontally

반응형