石之审判 2015-05-20 04:41 采纳率: 100%
浏览 6046
已采纳

使用了未赋值的局部变量。。。可是我明明赋值了呀。。

代码:

string  content = AllFunctions.streamToString(stream, Encoding.UTF8);
            Regex regex = new Regex("\\/song\\?id=[0-9]{5,8}");   //歌曲id
            if (!regex.IsMatch(content))
            {
               return;
            }
            allurls = regex.Matches(content);  //所有匹配项
            random = new Random(Guid.NewGuid().GetHashCode());  //随机数
            index = random.Next(allurls.Count);  //
            listUrl = "http://music.163.com" + allurls[index]; 
            string songID = allurls[index].Value.Split('=')[1];  //在这里赋值的啊!

            musicUrl = "http://music.163.com/api/song/detail/?id=" + songID + "&ids=%5B" + songID + "%5D?csrf_token=" + csrf_token;   //在这里使用就没有错误!!
        getPlaySite: stream = AllFunctions.getOrPostUrl(musicUrl, 0, "", cookie, out outCookie, header, out outHeader, false, null, 0);  //获取歌曲播放链接
            content = AllFunctions.streamToString(stream, Encoding.UTF8);
            string mp3Url = "", songDuration = "";
            try
            {
                ///
            }
                        catch
                        {
                           return;
                        }

            musicUrl = "http://music.163.com/api/log/web?csrf_token=" + csrf_token;  //播放开始和结束的时候需要post的链接
            postData = "action=play&json={\"id\":\"" + songID + "\",\"type\":\"song\"}";

最后一句的时候,提示我songID没赋值,无法编译?
我明明在最前面赋值的了啊,而且前面使用都没有错误,最后一句就说没赋值??

第一次发帖,希望大家帮帮我,谢谢

  • 写回答

4条回答

  • bsdh0606 2015-05-20 04:44
    关注

    是不是跳到getPlaySite分支里没有对songID赋值?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案