鸟鸟v 2013-07-03 04:01 采纳率: 0%
浏览 913

c#为什么老出现无法将QQmanagerDB.Item隐式转换为system.Array

CSDN移动问答

CSDN移动问答

public Array[] GetAll(string sql)
{
Array[] arr = new Array[100];
int i = 0;
try
{
SqlCommand command = new SqlCommand(sql,db.conn);
db.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Item it = new Item();
it.ID = Convert.ToInt32(reader["ID"]);
it.Name = (reader["Name"]).ToString();
it.Level = (reader["Level"]).ToString();
it.Email = (reader["Email"]).ToString();
it.days = Convert.ToDouble(reader["days"]);
arr[i] = it;
i++;
}
}

page:

case 1:

                    string sql = "select * from Users";
                    Array[] arr = man.GetAll(sql);
                    Console.WriteLine("----------------------------------------------------------");
                    Console.WriteLine("编号\t昵称\t等级\t天数\t邮箱");
                    Console.WriteLine("----------------------------------------------------------");
                    foreach (Array item in arr)
                    {
                        if (item != null)
                        {
                            Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}");
                        }
                        else
                        {
                           break;   
                        }
                        Console.WriteLine("----------------------------------------------------------");
                    }
                    break;
  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-01 13:45
    关注

    你的代码中,你声明了一个Array[]类型的数组arr,但是你在循环中将Item类型的对象赋值给了数组的元素,这就导致了编译错误。


    你可以将数组的类型改为Item[],或者将循环中的Array item改为Item item来解决此问题。

    例如:

    public Item[] GetAll(string sql)
    {
        Item[] arr = new Item[100];
        int i = 0;
        try
        {
            SqlCommand command = new SqlCommand(sql, db.conn);
            db.Open();
            SqlDataReader reader = command.ExecuteReader();
            while(reader.Read())
            {
                Item it = new Item();
                it.ID = Convert.ToInt32(reader["ID"]);
                it.Name = (reader["Name"]).ToString();
                it.Level = (reader["Level"]).ToString();
                it.Email = (reader["Email"]).ToString();
                it.days = Convert.ToDouble(reader["days"]);
                arr[i] = it;
                i++;
            }
        }
        page:
        case 1:
            string sql = "select * from Users";
            Item[] arr = man.GetAll(sql);
            Console.WriteLine("----------------------------------------------------------");
            Console.WriteLine("编号\t昵称\t等级\t天数\t邮箱");
            Console.WriteLine("----------------------------------------------------------");
            foreach(Item item in arr)
            {
                if(item != null)
                {
                    Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}");
                }
                else
                {
                    break;
                }
                Console.WriteLine("----------------------------------------------------------");
            }
            break;
    
    评论

报告相同问题?

悬赏问题

  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块