如何修复 CS0136? [关闭]

Posted

技术标签:

【中文标题】如何修复 CS0136? [关闭]【英文标题】:How do i fix CS0136? [closed] 【发布时间】:2021-10-28 07:06:43 【问题描述】:

好的,我已经尝试了 4 个小时。

我要做的是获取此列表中的每个用户名(可以是与 userid 匹配的任何列表):

我想在控制台中看到的示例:

Username: sk2lly

以及该用户 ID 的好友列表中的所有其他用户

但我不断收到此错误

CS0136:无法在此范围内声明名为“temp”的本地或参数,因为该名称在封闭的本地范围中用于定义本地或参数

代码:

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);

string temp = fobj["Username"].ToString();

foreach (string temp in fobj)

    Console.WriteLine(temp);
    Console.ReadLine();

【问题讨论】:

您有两个名为temp 的变量。重命名或删除一个。这条线似乎什么也没做,这是一个很好的删除,问题就消失了:string temp = fobj["Username"].ToString(); @RetiredNinja 好的,但现在它说“temp 一词不存在”,它怎么知道我在寻找用户名?? 试试foreach(dynamic user in fobj)Console.WriteLine(user.Username); Console.ReadLine(); @Steeeve 我得到“使用无效键值访问的 JArray 值:“用户名”。需要 Int32 数组索引” 在哪个声明中?删除你的行string temp = fobj["Username"].ToString() 【参考方案1】:

试试这个

foreach (var temp in fobj)

 Console.WriteLine(temp.ToString());
 Console.ReadLine();

【讨论】:

以上是关于如何修复 CS0136? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何恢复信息或修复 c# 错误 cs0246? [复制]

Unity 2019 - 如何修复 TextMeshPro 2.0 错误 cs0433

flash cs6 绿色版如何安装Toolkit_for_CreateJS_v1_1.zxp

C#里error CS0136: 无法在此范围中声明名为“e”的局部变量或参数

如何修复 bfSize 字段中的标题

如何修复AttributeError:模块'numpy'没有属性'square'[关闭]