我有一个列表,用于存储来自不同帐户类的对象。我有一种方法可以存入帐户。用户输入帐户ID,然后将ID和我的列表传递给另一种方法,该方法搜索对象以查看该帐户是否存在。我希望它然后将帐户详细信息返回到提交方法。
我不知道如何从搜索方法返回对象。
我的清单看起来像这样 List<Account> bank;
我已经用C ++完成了这项任务,并且我刚刚启动了C#,发现很难适应它。任何帮助,将不胜感激!
我的清单看起来像这样 List<Account> bank;
我已经用C ++完成了这项任务,并且我刚刚启动了C#,发现很难适应它。任何帮助,将不胜感激!
已编辑以包含我的代码,但不起作用。
public static void processLodgement(List<CAccount> bank)
{
CAccount p;
string ID;
double amount = 0;
Console.WriteLine("Process Lodgement\n");
Console.WriteLine("Enter account ID\n");
ID = Console.ReadLine();
Console.WriteLine("Enter Lodgement Amount\n");
double.TryParse(Console.ReadLine(), out amount);
findAccount(bank, ID);
}
public static CAccount findAccount(List<CAccount>bank, string accountID)
{
for(int i=0; i < bank.Count(); i++)
{
if (bank[i].GetID()==accountID)
{
return bank[i];
}
}
}
您需要使用id
and帐户列表作为参数,并使用Account
as作为返回类型。
public Account FindAccount(int id, List<Account bank)
{
// Look for account based on ID or do something, and return the account.
}
例如,您可以使用LINQ搜索该帐户:
return bank.FirstOrDefault(acc => acc.ID == id);
或者只是使用一个循环:
foreach (var acc in bank)
{
if (acc.ID == id)
return acc;
}
// Handle account not found.
编辑:响应您发布的代码,这应该是它的外观。
public static CAccount findAccount(List<CAccount>bank, string accountID)
{
for(int i=0; i < bank.Count; i++)
{
if (bank[i].GetID() == accountID)
{
return bank[i];
}
}
throw new Exception("Account not found!");
}
在方法的最后,您需要返回某些内容(例如null)或引发错误。另外,使用Count
代替以Count()
获得更好的性能(Count()
适用于LINQ查询)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句