List<T>
私はアカウント オブジェクトのクラスを作成し、それらのアカウント オブジェクトの static を保持します。私のプログラムは、リスト内の各アカウントをループし、アカウントでいくつかの作業を実行し、リストの最後に到達すると一番上にリセットされます。
私の問題は、プログラムが作業を終了した後、更新された情報を追加して、アカウントをリストに再挿入できるようにする必要があることです。IndexOf() 関数を使用して静的リスト内のオブジェクトをチェックするか、データを追加したために失敗しますか? 2 つのオブジェクトが同じかどうかを確認するために比較するフィールドがわかりません。
注: リスト内での重複は許可されていないため、間違った項目を更新するリスクはありません
public class Account
{
public string name;
public string password;
public string newInfo;
}
public static class Resources
{
private static List<Account> AccountList = new List<Account>();
private static int currentAccountIndex = 0;
public static Account GetNextAccount()
{
if (currentAccountIndex > AccountList.Count)
currentAccountIndex = 0;
return AccountList[currentAccountIndex++];
}
public static void UpdateAccount(Account account)
{
int index;
if ((index = AccountList.IndexOf(account)) >= 0)
AccountList[index] = account;
}
}
public class Program
{
public void PerformWork()
{
Account account = Resources.GetNextAccount();
// Do some work
account.newInfo = "foo";
Resources.UpdateAccount(account);
}
}