鸟鸟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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。