如何解决C#获取Roblox好友列表时出现的CS0136报错问题
报错原因
你遇到的CS0136错误是因为在同级作用域内重复声明了同名变量:你已经在foreach循环外定义了名为temp的字符串变量,又在foreach的循环变量声明处再次使用temp作为变量名,C#语法不允许这种写法。
同时你的原有代码逻辑也存在两处问题:
- Roblox好友查询接口返回的是好友对象数组,没有顶层的
Username字段,你循环外写的string temp = fobj["Username"].ToString();本身也会触发运行时错误 - 直接遍历
fobj输出无法拿到正确的用户名,需要取每个数组元素的Username字段
修正后可运行代码
Console.WriteLine("UserId: "); string UserId = Console.ReadLine(); Console.Clear(); WebClient client = new WebClient(); string useridtextbox1 = client.DownloadString("https://api.roblox.com/users/" + UserId + "/friends/"); dynamic fobj = JsonConvert.DeserializeObject<dynamic>(useridtextbox1); foreach (var friend in fobj) { Console.WriteLine($"Username: {friend.Username}"); // 不需要每输出一个用户名就等待回车的话,可以删除下面这行 Console.ReadLine(); }
内容的提问来源于stack exchange,提问作者Skully
相关产品推荐
相关产品推荐

