我有一张看起来像这样的表,并且经常更改:

c# - 从MySQL C#的表中获得前3名-LMLPHP

我想按鲜花排在前三位,所以它看起来像这样:

5
3
1


这是我的代码:

public class tableName3
{
 // public ulong UserId { get; set; }
    public int Flowers { get; set; }
}



public static List<tableName3> getFlowers(ulong serverid)
{
    var result = new List<tableName3>();
    var database = new Database("DataBase");
    var str = string.Format("SELECT * FROM `{0}` ORDER BY flowers DESC LIMIT 3", serverid);
    var tableName = database.FireCommand(str);
                             // modified
    while (tableName.Read())
    {
        var floweramount = (int)tableName["flowers"];
        result.Add(new tableName3
        {
            Flowers = floweramount,
        });
    }
    database.CloseConnection();
    return result;
}


然后像这样使用它:

    var lb = Database.getFlowers(id);
    Console.WriteLine(lb.FirstOrDefault().Flowers.ToString());


但它仅返回5。
有人可以帮我吗?

最佳答案

您正在使用lb.FirstOrDefault(),它将返回集合中的第一个[0]元素。您可以使用for / foreach循环遍历它。

09-25 18:31