我有一个名为“帐户”的类,由一个值(例如“新帐户(amt)”)创建。但是如何从 Account 类的对象中检索该金额。我以为我可以使用“listOfAccounts[0].balance.ToString();” 但是当我尝试使用 listOfAccounts[0] 时,这些函数似乎不可见。
private ArrayList listOfAccounts = new ArrayList();
double amt = (double.Parse(txtAmount.Text));
listOfAccounts.Add(new Account(amt));
lblShowBalance.Text = listOfAccounts[0].balance.ToString();
我的课是这样的:
class Account
{
private double balance;
public double Balance { get; set; }
public Account() { }
public Account (double balance)
{
this.balance = balance;
}
您可以投射该项目:
var acct = (Account)listOfAccounts[0];
acct.balance.ToString();
但不要那样做!
ArrayList
自从 .Net 2.0 大约 15 年前引入泛型以来,.Net 中的 .Net 已经过时了。有没有很好的理由以往任何时候都使用新代码。相反,使用 a List<T>
,这是相同的东西,但强类型。
当我在这里时:使用这种double
类型来赚钱也完全不好。在处理金钱时,您应该始终使用decimal
代替。
像这样把它们放在一起:
public class Account
{
public decimal Balance {get; set;}
public Account() { }
public Account(decimal balance)
{
this.Balance = balance;
}
}
class Program
{
static void Main(string[] args)
{
var listOfAccounts = new List<Account>();
listOfAccounts.Add(new Account(133.1m));
Console.WriteLine(listOfAccounts[0].Balance);
Console.ReadKey(true);
}
}
并带有一个有趣的集合初始值设定项:
class Program
{
static void Main(string[] args)
{
var listOfAccounts = new List<Account> {new Account(133.1m)};
Console.WriteLine(listOfAccounts[0].Balance);
Console.ReadKey(true);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句