あまねこ TOP  >  スポンサー広告 >  c# >  C#で配列やArrayListをシャッフルする

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --年--月--日 --:-- ] カテゴリ:スポンサー広告 | TB(-) | CM(-)

C#で配列やArrayListをシャッフルする

どうもそう簡単にはいかないっぽい

配列の場合
ただしこれを実行するには.NET Framework 3.5以降とのこと。

static void Main(string[] args)
{
int[] ary = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//当然配列がString型でも可能
//String[] ary = new String[] {"hoge","foo","piyo","bar","huga"};
ary = ary.OrderBy(i => Guid.NewGuid()).ToArray();
for (int i = 0; i < ary.Length; i++){
Console.Write(ary[i].ToString() + ",");
}
System.Console.ReadLine();
}

ArrayListの場合

static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add("0");
list.Add("1");
list.Add("2");
list.Add("3");
list.Add("4");
list.Add("5");
list.Add("6");
list.Add("7");
list.Add("8");
list.Add("9");

Random rdm = new Random();
for (int i = 0; i < list.Count; i++){
int value = rdm.Next(list.Count);
object song = list[value];
list[value] = list[0];
list[0] = song;
}

for (int i = 0; i < list.Count; i++){
Console.Write(list[i].ToString() + ",");
}
System.Console.ReadLine();
}

参考リンク:
配列やコレクションをシャッフルする(ランダムに並び替える): .NET Tips: C#, VB.NET
関連記事
[ 2013年07月02日 14:47 ] カテゴリ:c# | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。