のアレイにアクセスできないは、私は、エラーメッセージ「オブジェクトのインスタンスに設定されていないオブジェクト参照とNullReferenceException」:取得保つユニティのカスタムクラス
listOfBanks [0] .Deposit(50)。
と
accntBlnce.text = "口座残高:\ n" + listOfBanks [curBank] .GetBalance()のToString( "C")。
私は3つのオプションをドロップダウンメニューに表示しています。また、Debug.Logで配列のアイテム数を3としてカウントします。しかし、私は彼らと何もできません。銀行変数は、インスペクタのドロップダウンオブジェクトとして設定され、パネル内のテキストオブジェクトとしてのaccntBlnceとして設定されます。
コードは次のとおりです。
Banks.cs
public class Banks : MonoBehaviour {
public Dropdown banks;
public Text accntBlnce;
public Bank[] listOfBanks;
public int curBank = 0;
void Start() {
listOfBanks = new Bank[banks.options.Count];
listOfBanks[0].Deposit(50);
}
void Update() {
curBank = banks.value;
accntBlnce.text = "Account Balance:\n" + listOfBanks[curBank].GetBalance().ToString("c");
}
}
Bank.cs
public class Bank{
public Bank() { }
public Bank(string orgn, float amntToRprt, float blnce) {
origin = orgn;
amountToReport = amntToRprt;
balance = blnce;
}
public string origin { get; set; }
public float amountToReport { get; set; }
public float balance { get; set; }
public bool Deposit(float amnt) {
if (amnt > 0) {
balance += amnt;
if(amnt > amountToReport) {
FlagForReport();
}
return true;
}
else
return false;
}
private void FlagForReport() {
throw new NotImplementedException();
}
public float GetBalance() {
return balance;
}
public bool Withdraw(float amnt) {
if (amnt > 0) {
if (balance >= amnt) {
balance -= amnt;
return true;
}
else
return false;
}
else
return false;
}
public bool Transfer(float amnt, Bank bank) {
if (amnt > 0) {
if (balance >= amnt) {
if(bank.Deposit(amnt))
balance -= amnt;
return true;
}
else
return false;
}
else
return false;
}
}
。私は最後にプログラムされてからずっとずっと続いています。質問を削除するだけでいいですか? –
@ The_Guyいいえ。人々はそれから学ぶでしょう。ユニティ配列のヌルのものをグーグルグーグルの誰もがこれらの間に出くわすだろう。より多くの人々が同じ質問をもう一度聞くのを防ぎます。 – Programmer