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

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

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

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

Q&A

2回答

1493閲覧

C# LISTから文字をランダムで取得

退会済みユーザー

退会済みユーザー

総合スコア0

C#

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

0グッド

1クリップ

投稿2019/07/22 01:21

List<string> list = new List<string> { "リンゴ", "イチゴ"};

このリストにある2単語から、ランダムで取得する場合の
最もシンプルなロジックを教えて下さい。

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

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

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

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

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

gentaro

2019/07/22 01:24

まず自分で考えてみて下さい。 https://teratail.com/help/avoid-asking 「何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。」
m.ts10806

2019/07/22 01:34 編集

具体的なキーワードがあるので調べられなくはないと思いますし、 単体で動くプログラムなのでもっといろいろ調べて試してみてください。 キーワードと試す内容次第で15分もかからないかもしれません。(質問作ってる時間も含めると、結局自分でやったほうが早いです)
m.ts10806

2019/07/22 02:18

通報しました。
guest

回答2

0

こんにちは。

「シンプルなロジック」というのがコードゴルフ的な意味合いだとしたら、ではこんな感じで。

csharp

1var element = list[DateTime.Now.Second % list.Count];

「質問の要件の範囲内」では、ちゃんとランダムです。他のケースに適用するときにはどうなるのか考えてから使ってくださいね。

投稿2019/07/22 01:44

tamoto

総合スコア4110

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

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

Zuishin

2019/07/22 01:50

確かに。数文字加えると 999 まで行けますね。
guest

0

0 か 1 になる乱数を生成し、それをインデックスとするのが最もシンプルだと思います。

投稿2019/07/22 01:26

Zuishin

総合スコア28660

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

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

退会済みユーザー

退会済みユーザー

2019/07/22 01:34

その方法は私の中ではシンプルですが、 乱数を生成、値を取得の2段階になるのが気になっていました。 Unityではランダム取得の関数があるみたいですが。。
Zuishin

2019/07/22 01:36

これ以上シンプルにはなりません。新しくメソッドを作り、その中でこれをして結果を返すようにすれば、そのメソッドを使う方から見れば一段階になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問