C#でArrayListを使う
C#でもArrayList使いたい人生だった
まず以下をインクルードする必要がある。
例えば今回取得したlist[2]の型は実はStringではなくobject型であるためキャストが必要になる。
最後にArrayListをシャッフルしたい場合。
JavaだとCollections.shuffle(this.arrayList)で一発だがどうもC#のArrayListにはそのような機能がないっぽい。
結局自分でシャッフルする機能を実装するしかない。
例:
参考リンク(てかそのまんま):
これください(仮称)
Re[7]: ArrayListをランダムにシャッフル
まず以下をインクルードする必要がある。
using System.Collections;まとめた
AddやRemoveあたりはJavaと同様だが、一番異なるのは要素を取得したいとき。
//ArrayListの生成
ArrayList list = new ArrayList();
//ArrayListの末尾に追加
list.Add("hoge");
list.Add("foo");
list.Add("piyo");
//ArrayListの指定位置に挿入
list.Insert(0, "bar");
//インデックスを指定して要素を出力
Console.WriteLine("index2の要素={0}", (String)list[2]);
//指定オブジェクトを検索し、そのインデックスを返す
Console.WriteLine("Aのindex={0}", list.IndexOf("hoge"));
//指定オブジェクトが存在するかどうか
if (!list.Contains("aaaa"))
Console.WriteLine("存在しません");
//指定要素を削除する
list.Remove(2);
//指定インデックスの要素を削除する
list.RemoveAt(0);
//要素数を返す
Console.WriteLine("要素数={0}", list.Count);
//要素のソート(昇順)
list.Sort();
// ArrayListを複製する
ArrayList list2 = (ArrayList)list.Clone();
// 全要素を順に出力
foreach (object obj in list){
Console.WriteLine(obj.ToString());
}
例えば今回取得したlist[2]の型は実はStringではなくobject型であるためキャストが必要になる。
最後にArrayListをシャッフルしたい場合。
JavaだとCollections.shuffle(this.arrayList)で一発だがどうもC#のArrayListにはそのような機能がないっぽい。
結局自分でシャッフルする機能を実装するしかない。
例:
public ArrayList shuffle(ArrayList list){
Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
for (int i = 0; i < list.Count; i++){
int value = rdm1.Next(list.Count);
object song = list[value];
list[value] = list[0];
list[0] = song;
}
return list;
}
参考リンク(てかそのまんま):
これください(仮称)
Re[7]: ArrayListをランダムにシャッフル
- 関連記事
≪ C#でボタンを動的に複数配置させる | HOME | あきばのぱそこんしょっぷたち ≫
コメントの投稿
トラックバック
プロフィール
Author:ねこ
FC2ブログへようこそ!
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム
QRコード
