寻求一些建议和解释。
我正在使用Micro-ORM Dapper从SQLite中取出一个表,并用它做一些事情。
绑定:
public static List<Airport> LoadAirports()
{
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
{
var output = cnn.Query<Airport>("select * from Airport", new DynamicParameters());
return output.ToList();
}
}类:
class Airport
{
public int Id { get; set; }
public string Name { get; set; }
public string LocationName { get; set; }
public string IATA { get; set; }
public string PortType { get; set; }
public string PortOwner { get; set; }
public string MotherPort { get; set; }
public bool Active { get; set; }
public bool IsApplyMeetAndGreet { get; set; }
public decimal MeetAndGreet { get; set; }
}Main:
private void LoadAirportsList()
{
Airports = SqliteDataAccess.LoadAirports();
}这将创建一个变量"Airports“,我认为它是一个数组集合。我的问题是,我似乎永远不能从他们那里提取任何特定的信息。
例如,我想要获取列表中每个机场的名称,我似乎只能返回整个集合,我一直在读取多维数组和扁平化2d数组,但我总是收到关于无法迭代函数的类型的错误。
我会试着
for (int i = 0; i < Airports.Count; i++)
{
Assigner = Airports[i];
}目的是遍历所有机场,然后将每个.Name赋给一个列表变量。叹一口气还没有用。感谢任何人能提供的任何帮助。
发布于 2020-06-03 11:48:27
因此,经过@Chetan Ranpariya的一些指导,最终弄清楚了。
var PortNames = Airports.Select(airport => airport.Name);解决了对象列表中特定元素的初始获取问题。
最初,我认为您可以在此阶段迭代PortNames变量,但它仍然被认为是一个方法,您不能对方法进行操作。
所以:List<string> PortNameList = PortNames.ToList();
尽管集合是以列表的形式输出的,但是它是一个对象列表,所以一旦解析了元素,就可以将其变成一个字符串列表。然后您可以使用for (int i = 0; i < PortNameList.Count; i++)对其进行操作,对这些单独的字符串值执行所需的任何操作,在我的实例中,我使用循环将它们添加到comboBox中。
如果我对此有任何误解,请让我知道。
https://stackoverflow.com/questions/62163819
复制相似问题