C# で行う "通常の" ことは、格納する情報を保持するクラスを作成することです。例えば:
public class Job
{
public string Name { get; set; }
public int NumBytes { get; set; }
public DateTime RequiredTime { get; set; }
}
次に、これらをリストに追加できます。
var jobs = new List<Job>();
var aJob = new Job();
aJob.Name = "Job 1";
aJob.NumBytes = 123;
jobs.add(aJob);
次に、リスト内のインデックスでジョブにアクセスできます。
var jobNumBytes = jobs[3].NumBytes;
C# について注意すべき点が 1 つあります。
new { newJob, numBytes, requiredTime };
コンパイラは、ビルド時に、厳密に型指定されたクラス (Job上記で作成したクラスと同様) を作成し、ランダムな名前を生成します。割り当てている変数から、プロパティの名前と型を推測します。作成された .exe または .dll には、実際にはこの型のクラス定義が含まれていますが、コード内の他の場所から簡単にアクセスすることはできません。真の「動的」ではありません。したがって、その構文を使用することは、通常、ちょっとだけ必要なクラスを宣言するための怠惰な方法です。通常は 1 つのメソッド内にあり、それ以上は必要ありません。名前付きクラスを作成することは、通常、やりたいことです。