石之审判 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 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题