C#“使用”块

2024-02-08

我有类似下面的代码...这里有人提到 WebClient、Stream 和 StreamReader 对象都可以从使用块中受益。两个简单的问题:

1:这个小片段在使用块时会是什么样子?我自己做研究没有问题,所以资源链接很好,但只看一个例子会更快更容易,我会从中理解它。

2:我想养成良好的编码标准的习惯,如果我了解一点使用块更好的原因会有所帮助......这只是为了让你不必担心关闭还是在那里还有更多理由吗?谢谢!

WebClient client = new WebClient();
Stream stream = client.OpenRead(originGetterURL);
StreamReader reader = new StreamReader(stream);

JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(reader.ReadLine());
string encryptionKey = (string)jObject["key"];
string originURL = (string)jObject["origin_url"];

stream.Close()
reader.Close()

using (var client = new WebClient())
using (var stream = client.OpenRead(originGetterURL))
using (var reader = new StreamReader(stream))
{
    var jObject = Newtonsoft.Json.Linq.JObject.Parse(reader.ReadLine());
    var encryptionKey = (string)jObject["key"];
    var originURL = (string)jObject["origin_url"];
}

或者简单地:

using (var client = new WebClient())
{
    var json = client.DownloadString(originGetterURL);
    var jObject = Newtonsoft.Json.Linq.JObject.Parse(json);
    var encryptionKey = (string)jObject["key"];
    var originURL = (string)jObject["origin_url"];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#“使用”块 的相关文章

  • lambda 始终返回“1”

    有这样的代码 include
  • 当用户与 DateTimePicker 控件交互时会引发什么事件?

    我是 C 新手 在我的程序中使用 DateTimePicker Value Changed 事件 但我发现当用户单击箭头时发生 ValueChanged 事件 或者如果也以编程方式更改值 我只想识别 DateTimePicker 的用户交互
  • 如何从 OnChange 事件捕获文本框的值

    在我的 C MVC 应用程序中 我有一系列这样生成的文本框 foreach object item in items Html TextBox 渲染的结果是一系列看起来像这样的文本框
  • clang-tidy - 忽略第三方标头代码

    我正在为我的项目使用 CMake 并且我想向项目引入 clang tidy 检查 我用于此目的CMAKE CXX CLANG TIDY and clang tidy用于检查设置的文件 我想在 CI 中使用警告作为错误来可靠地检查提交是否引入
  • 这个洗牌算法有什么问题吗?

    我一直在做一些休闲假期计算 我的迷你项目是模拟意大利游戏 tomboli 一个关键的组成部分是对以下过程的模拟 游戏由一名男子控制 他拿着一袋 90 个弹珠 编号为 1 到 90 他从袋中随机取出一颗弹珠 每次向玩家喊出弹珠编号 经过一番思
  • 将文件扩展名与应用程序关联

    我编写了一个编辑特定文件类型的程序 我想为用户提供在启动时将我的应用程序设置为该文件类型的默认编辑器的选项 因为我不需要安装程序 我尝试编写一个可重用的方法 通过向 HKEY CLASSES ROOT 添加一个键来为我关联一个文件 最好在任
  • float.Parse 不再在 Unity 中工作 (C#)

    我有一个包含以下代码行的工作项目 public InputField mass float val float Parse mass text 非常简单 用户输入一定量的质量 然后将其从文本解析为浮动 几天前这工作得很好 我什至能够多次导出
  • 如何使构造函数只能由基类访问?

    如果我想要一个只能从子类访问的构造函数 我可以使用protected构造函数中的关键字 现在我想要相反的 我的子类应该有一个构造函数 该构造函数可以由其基类访问 但不能从任何其他类访问 这可能吗 这是我当前的代码 问题是子类有一个公共构造函
  • ASP.NET Core 测试 - 没有方法 'public static IHostBuilder CreateHostBuilder(string[] args)

    我正在尝试在测试中设置我的应用程序并在中使用Startup s Configure method context Database EnsureCreated 并期待着Sqlite文件出现在Test sbin文件夹 这是我的代码 using
  • “上下文模式”的这种实现看起来不错吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有多个处理单元可能存在于一个数组中 每个处理单元都有自己的参数 我想使用以下方式传达每个处理单元的参数上下文模式在它被建议作为另一个问题的解答 ht
  • g++.exe 和 x86_64-w64-mingw32-g++.exe 有什么区别?

    同样的问题也适用于 gcc ar 等 在 Code Blocks 中将工具链可执行文件从 Something exe 更改为 x86 64 w64 mingw32 something exe 时 代码仍然可以完美编译 此外 32 位和 64
  • 一个阻塞但非模态的 QDialog?

    我有一堆图像 我想对其执行一些操作 处理完每个图像后 我的程序应该弹出一个对话框 提示用户是否要继续处理下一个图像或中止 在此之前 他们应该有机会对图像或参数进行一些手动更改 无论如何 他们必须能够访问应用程序的窗口 而调用对话框的方法的执
  • 恢复多个监视器的窗口大小/位置

    许多帖子都涉及恢复 WinForm 位置和大小 例子 www stackoverflow com questions 92540 save and restore form position and size http www stacko
  • 如何为用户提供给定 boost::spirit 语法的自动完成建议?

    我正在使用 Boost Spirit 在我的 C GUI 应用程序中为非技术用户构建简单的 数据过滤器 语言 语言与纯英语非常相似 并且可以解析为 AST 我被要求使该过程尽可能对用户友好 因此我希望提供类似 CLang 的错误消息 无法识
  • 您在 C# 或 .NET 中见过的最奇怪的极端情况是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 引用计数指针的STL类?

    这应该是微不足道的 但我似乎找不到它 除非不存在这样的类 智能指针的 STL 类 或类集 是什么 UPDATE 感谢您的回复 我必须说我很惊讶没有标准实施 我最终使用了这个 http archive gamedev net referenc
  • 在javascript中调用c#函数[重复]

    这个问题在这里已经有答案了 可能的重复 从 Javascript 调用 ASP NET 函数 https stackoverflow com questions 3713 call asp net function from javascr
  • gcc总是做这种优化吗? (公共子表达式消除)

    作为示例 假设表达式sys gt pot atoms item gt P kind mass在循环内求值 循环只改变item 因此表达式可以简化为atoms item gt P kind mass通过将变量定义为atoms sys gt p
  • 列表框显示类名称而不是值

    我正在开发一个项目 其中用户应该向动物输入值 名称 年龄 性别等 并且用户输入的值应该显示在列表框中 这些类相互继承 以下是继承的工作原理 Animalclass 是所有类的父类 Mammal类继承自Animal class Dog类继承自
  • 在 Qt C++ 中使用多个键

    我正在构建 坦克 游戏 我使用关键事件在地图上运行我的坦克 实际上我当时只能使用一把钥匙 但我需要有能力去完成任务 同时向上和离开 这是我的单键事件代码 switch event gt key case Qt Key Up if ui gt

随机推荐

  • SpringWithDamping 用于 CALayer 动画?

    在玩了很多之后UIViewiOS 7 中引入了动态动画 最值得注意的是 UIView animateWithDuration delay usingSpringWithDamping initialSpringVelocity option
  • 是否可以同时使用线程并发和并行性?

    对于我的一个项目 这是一种内容聚合器 我想引入并发性 如果可能的话 引入并行性 乍一看 这似乎毫无意义 因为并发和并行采用不同的方法 通过线程的并发引入了即时并发 而并行性提供了潜力 因此 为了更好地解释我的问题 让我总结一下我的问题集 由
  • 离子错误:在 FontFamilyFont 中,无法找到属性 android:fontVariationSettings [重复]

    这个问题在这里已经有答案了 当我跑步时 ionic cordova 构建 android prod 它显示以下错误 ERROR In
  • 如何多次绑定同一个向量?

    我怎样才能绑定相同的载体o c 1 2 3 4 多次得到一个矩阵 如 o array c 1 2 3 4 1 2 3 4 1 2 3 4 dim c 4 3 1 2 3 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 以比以
  • 如何让浏览器导航到 JavaScript 中的 URL [重复]

    这个问题在这里已经有答案了 让 Web 浏览器使用 JavaScript 导航到您选择的 URL 的最佳 正确 现代 跨浏览器 安全 方法是什么 这适用于所有浏览器 window location href 如果您想更改页面而不反映在浏览器
  • LINQ to Entities 中的临时表

    我有一个很大的用户 ID 表 我有一组我想要的用户 ID 我有两个具有外部用户 id 键的表 明智地获取此信息性能的最佳方法是什么 理想情况下 在 SQL 中 最终结果有点像这样 如果一个表中没有用户 ID 而另一个表中没有用户 ID 则为
  • 使用 JsonProperty 将 JSON 绑定到模型属性

    我受我方和客户之间协议的约束 必须使用包含破折号的 json 参数 由于无法在 C 中的属性名称中使用它 因此我需要映射到所需的属性 我现在应该做什么 为了方便起见 下面的代码被简化了 Model public class MyReques
  • Maven-Release-Plugin:强制使用 scm 提供程序的特定版本

    我正在尝试将我们的存储库从 SVN 迁移到 Git 但在一个非常大的项目上使用发布插件时遇到了问题 Problem 该项目大约有 50 多个子模块 它尝试将所有修改后的 poms 添加为一个 git add 这打破了Windows命令行的限
  • 慢速 SQL 查询:在两个不同的连接中使用同一个表会导致查询速度变慢 10 倍!

    真的希望某种性能专家可以向我解释为什么单个连接会导致查询速度慢 10 倍 另外 请不要嘲笑这个查询的大小 我想取出数据库中的整个目录以通过一个查询输出 我不确定将其分解为较小的查询是否会更快 但是似乎不对 SELECT c category
  • 如何在yii2中使用if语句正确查看表数据

    我正在研究yii2 我有一个页面 我在其中创建了一个表 现在我想通过数据库查询将一些数据放入其中if else陈述 tbody style text align center line height 12px tbody
  • 在 Windows 上从 bash 脚本运行 Openssl - 主题不以“/”开头

    在我的脚本中我有 openssl req x509 new nodes key certs ca my root ca key pem days 3652 out certs ca my root ca crt pem subj C GB
  • WinForm CRUD 应用程序的 UI 设计,有什么作用?

    我正在设计一个 WinForms CRUD 类似 应用程序 供一大群护士和社会工作者与客户信息进行交互 有很多种不同的形式 大约30ish 他们需要 可能 与任何给定的客户进行交互 并且他们 可能 需要为特定的人从一个客户跳到另一个客户 我
  • 按字节截断字符串

    我创建以下内容 用于将 java 中的字符串截断为具有给定字节数的新字符串 String truncatedValue String currentValue string int pivotIndex int Math round dou
  • 我如何用更少的node_modules创建react-app

    我用过create react app
  • RegExp 和 String 组合导致 Chrome 崩溃

    我有以下正则表达式来验证电子邮件地址 A Za z0 9 a zA Z0 9 A Za z0 9 a zA Z0 9 A Za z 2 在基本电子邮件上运行它效果很好 A Za z0 9 a zA Z0 9 A Za z0 9 a zA Z
  • 使用 *args 和 **kwargs [重复]

    这个问题在这里已经有答案了 所以我对这个概念有困难 args and kwargs 到目前为止我了解到 args 参数列表 作为位置参数 kwargs 字典 其键成为单独的关键字参数 值成为这些参数的值 我不明白这对什么编程任务有帮助 Ma
  • 如何同时使用 telegram bot python

    我不知道如何使用 python 在电报中使用机器人进行多进程 我创建了一个线程 但如果该线程未完成 机器人将无法回复消息 horaPurga now replace hour 23 minute 36 second 59 microseco
  • RESTEasy - javax.ws.rs.NotFoundException:找不到完整路径的资源

    我尝试在 GWT 项目中使用 RESTEasy 实现 REST 服务 但是当我进入相应的 URI 时 应用程序返回 Grave failed to execute javax ws rs NotFoundException Could no
  • 不活动后会话自动注销

    快速会话中是否有内置功能 可以在给定的不活动时间后启用自动注销 我如下使用它 并希望它在会话半小时不活动时注销 app use session key sessid secret This is secret resave true sav
  • C#“使用”块

    我有类似下面的代码 这里有人提到 WebClient Stream 和 StreamReader 对象都可以从使用块中受益 两个简单的问题 1 这个小片段在使用块时会是什么样子 我自己做研究没有问题 所以资源链接很好 但只看一个例子会更快更