如何在c#中返回List
本文关键字:返回 List | 更新日期: 2023-09-27 18:06:01
下面我有一个我想创建的方法。该方法的总体目标是创建一个列表,用SQL打开数据库,并将该信息转换为字符串。问题,虽然我有返回所有的数据。我理解一个方法的工作,你需要某种类型的返回语句,但是当我试图返回列表,它一直告诉我
不能隐式转换类型"System.Collections.Generic.List(Namespace)"。MyHome' to '(命名空间)。MyHome
所以我的问题是,我可以返回列表,或者我必须创建另一个变量返回,或者我试图返回完全错误的东西?
下面是我正在研究的方法。为了解释,这个方法使用了我创建的一个类,该类保存了我试图获取的数据的凭据。
private static MyHome GetUserDataFromMyHome(string username)
{
List<MyHome> myHomeInformation = new List<MyHome>();
using (SqlConnection connection = new SqlConnection(Properties.Settings.Default.MyHomeConnectionString))
{
SqlCommand command = connection.CreateCommand();
command.CommandText = @"SELECT USER_NAME, EMAIL, FIRST_NAME, LAST_NAME, TRAVELER_UID FROM DATA_BASE";
connection.Open();
SqlDataReader reader = sqlError.ExecuteReader();
while (reader.Read())
{
MyHome userInformation = new MyHome();
foreach (MyHome item in myHomeInformation)
{
userInformation.myHomeUserName = Utilities.FromDBValue<string>(reader["USER_NAME"]);
userInformation.myHomeEmail = Utilities.FromDBValue<string>(reader["EMAIL"]);
userInformation.myHomeFirstName = Utilities.FromDBValue<string>(reader["FIRST_NAME"]);
userInformation.myHomeLastName = Utilities.FromDBValue<string>(reader["LAST_NAME"]);
userInformation.myHomeTravelerUID = Utilities.FromDBValue<string>(reader["TRAVELER_UID"]);
myHomeInformation.Add(userInformation);
}
}
}
return myHomeInformation;
}
下面是保存凭证的类:
class MyHome : IEnumerable<MyHome>
{
public string myHomeUserName { get; set; }
public string myHomeEmail { get; set; }
public string myHomeFirstName { get; set; }
public string myHomeLastName { get; set; }
public string myHomeTravelerUID { get; set; }
}
Replace
private static MyHome GetUserDataFromMyHome(string username)
private static List<MyHome> GetUserDataFromMyHome(string username)
返回类型应该是一个对象列表,而不仅仅是一个对象
List<MyHome>
不是MyHome
。如果你想让你的函数返回一个List<MyHome>
,就这样声明:
你必须声明函数的返回类型为MyHome的List。
private static List<MyHome> GetUserDataFromMyHome(string username)
否则,无论调用this的是什么,都希望得到一个MyHome的实例。