あるオブジェクトを配列に入れ、そのオブジェクトが持つ変数(ここでは time
という時刻の文字列)で、その配列をソートした時のMEMOです。
Array.Sortでソート
例として、
public class ProgramsListItem { public Program program; public string time; public bool done = false; }
こんなような ProgramsListItem
クラスのインスタンスを
ProgramsListItem[] specialPrograms;
のように specialPrograms
という配列に入れていたとします。このオブジェクトの time
変数には、「02:07:00」とか「02:10:00」のように時刻の文字列が入っています。Array
を使うので「using System;
」しときます。
時刻の早い順(昇順)に並べるには、
Array.Sort(specialPrograms, (a, b) => (int)DateTime.Parse(a.time).Ticks - (int)DateTime.Parse(b.time).Ticks);
とし、時刻の遅い順に並べ替える(降順)には、
Array.Sort(specialPrograms, (a, b) => (int)DateTime.Parse(b.time).Ticks - (int)DateTime.Parse(a.time).Ticks);
として、これらの行を通過すると、時刻順にソートできました。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。