DataTable AsEnumerable().我不能让它工作

本文关键字:工作 不能 AsEnumerable DataTable | 更新日期: 2023-09-27 18:09:49

我做不到。我该怎么做才能成功呢?谢谢你

    public static List<int> lstAllMonsterIds = new List<int>();
        using (DataTable dtTemp = DbConnection.db_Select_DataTable("select MyId,Name from myTable"))
        {
 lstAllMonsterIds = dtTemp.AsEnumerable().ToList(dtr => Convert.ToInt32(dtr.Field<Int16>("PokemonId").ToString()));                           
        }

DataTable AsEnumerable().我不能让它工作

您需要回List<int>,然后选择使用int的字段,并且不调用ToString,最后调用ToList

lstAllMonsterIds = dtTemp.AsEnumerable()
                         .Select(dtr => dtr.Field<int>("MyId"))
                         .ToList();

如果您的字段类型是Int16,那么它可以隐式地强制转换为intInt32,您不必调用ToString,然后将其转换为Int32