質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

1698閲覧

C#の配列の中身をもっと簡単に出力する方法が知りたい。

y0shida

総合スコア15

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/05/27 04:21

実現したいこと

https://csharp.sevendays-study.com/problem4.html#problem5
このサイトの問prob5-3の問題通りに出力できたのはいいのですが
もっと諸略できたりスマートにかける気がして色々考えましたが、これ以外の方法が思いつきません。
もっと簡単に書ける方法がありましたら、教えてください。

該当のソースコード

static void Main(string[] args) { Random rnd = new Random(); int [] a = {rnd.Next(1,101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101), rnd.Next(1, 101)}; foreach(int i in a) { Console.Write("{0} ",i); } Console.WriteLine(); Console.WriteLine(); Console.Write("奇数 : "); foreach (int v in a) { if (v % 2 == 1) { Console.Write("{0} ", v); } } Console.WriteLine(); Console.Write("偶数 : "); foreach (int j in a) { if (j % 2 == 0) { Console.Write("{0} ", j); } } Console.WriteLine(); }

試したこと

for文で配列の中身を取り出し後それを変数に代入し
その変数の中身を計算して出力する
ということを試しましたが for文内のスコープでしか配列の中身は扱えませんでした。

(説明が分かりにくかったら指摘ください。

補足情報

c#

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/05/27 04:35 編集

あるけど基本文法学習中の人には早いと思います。もっと学習を進めて自分で書いてください。
gentaro

2020/05/27 04:43

てか解答も含めて解説はumedyで教材として売ってるものだから、ここで聞くのもおかしい気が。 その教材が有用だと思ってるなら買えば良いんじゃないでしょうか。
guest

回答2

0

C#

1static void Main(string[] args){ 2 var rnd = new Random(); 3 var a = Enumerable.Range(1,10).Select(_=> rnd.Next(1,101)).ToArray(); 4 5 Console.WriteLine(string.Join(" ",a)); 6 7 Console.Write("奇数 : "); 8 Console.WriteLine(string.Join(" ",a.Where(x=>x%2==1))); 9 10 Console.Write("偶数 : "); 11 Console.WriteLine(string.Join(" ",a.Where(x=>x%2==0))); 12 13}

投稿2020/05/27 04:50

ozwk

総合スコア13512

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y0shida

2020/05/27 08:44

すごく見やすい書き方で色々メゾット調べようとかなと思いました。 回答ありがとうございます。
guest

0

ベストアンサー

偶数か奇数かで別のStringBuilderに突っ込んで,最後に表示.
目指すところがよくわかりませんが,とりあえずコードが見た目には短くなったからOK?

C#

1System.Text.StringBuilder[] SB = { 2 new System.Text.StringBuilder( "偶数 :" ), 3 new System.Text.StringBuilder( "奇数 :" ) 4}; 5foreach( int v in a ){ SB[ v%2 ].Append( " "+v ); } 6foreach( var sb in SB ){ Console.WriteLine( sb.ToString() ); }

投稿2020/05/27 04:38

fana

総合スコア11634

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y0shida

2020/05/27 08:43 編集

こんなメゾットあるんですね 一人で勉強しているプログラミングなので動けばそれでいいのですが、もっといい方法ないのかなと疑問に思ったので質問してみただけですね 回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問