リストを持つクラスがあり、別のクラス メソッドでアクセスしています。それは正常に機能しますが、リストを do ループで使用しようとすると、常に「ArgumentOutOfRangeExcetpion」が発生します。リストをdoループ内で使用すると空になる理由、または少なくともそれが起こっていると思う理由を本当に混乱させています。なぜこれが起こっているのか誰かが私に説明できれば、それは非常に啓発的であり、おそらく私はこれを機能させる方法を理解できるでしょう.
これが私の方法です:
private void ListToAttributes()
{
int count = -1;
//Finds Attribute starting Line.
do
{
count = count + 1;
} while (Player.PlayerList[count] != "Attributes;");
//Adds all Attributes to a list
List<string> TypeAndAmount = new List<string>();
do
{
TypeAndAmount.Add(Player.PlayerList[count]);
count = count + 1;
} while (Player.PlayerList[count] != ".");
//Sorts by type and adds amount to Player Class
foreach (string Line in TypeAndAmount)
{
string[] Type = Line.Split(' ');
if (Type[0] == "Mind") { Player.Mind = int.Parse(Type[1]); }
if (Type[0] == "Body") { Player.Body = int.Parse(Type[1]); }
if (Type[0] == "Soul") { Player.Soul = int.Parse(Type[1]); }
}
}