c#-7.0相关内容

C#7引用类型的引用返回

我正在浏览一些代码,这些代码使用C#7的新功能并使用引用本地变量和返回功能。 对于value-types,其中ref局部变量获取引用(对实际存储空间)的引用,以及更新更新原始项的值,似乎非常简单。 稍加解释将有助于理解reference-types在引用局部变量时内存引用是如何工作的。我指向下面代码的最后一行: // A simple class public class CoolC ..
发布时间:2022-04-09 23:48:22 C#/.NET

C#触发并忘记任务并放弃

我需要激发并忘记对某些异步方法的调用。我意识到VS建议我将调用设置为a_discard,IDE警告就会消失。但我不确定当与丢弃一起使用时,是否仍未等待该呼叫。会吗? public async Task SomeSideTaskToBeForgotten() { ...blah blah } public async Task MainTask() { ..
发布时间:2022-02-28 10:26:34 C#/.NET

我们可以使用 Kudu 将 C# 7 Web 应用程序部署到 Azure 吗?

自从 Visual Studio 2017 发布以来,我们可以使用新的 C# 7 功能,我预计这将在 Azure Web 应用程序上部署时起作用. 不幸的是,我们在使用持续部署 (kudu git deploy) 时看到编译错误,因此 Azure 似乎还不支持新工具链. 我们现在可以做些什么来让它工作(除了直接发布程序集之外)? 解决方案 因为我们在 Azure 中还没有 ms ..
发布时间:2022-01-23 18:50:53 C#/.NET

你能命名 C# 7 Tuple 内联项吗?

默认情况下,使用 C# 7 元组时,项目将命名为 Item1、Item2 等. 我知道您可以命名方法返回的元组项.但是你能做同样的内联代码吗,比如下面的例子? foreach (var item in list1.Zip(list2, (a, b) => (a, b))){//...} 在 foreach 的正文中,我希望能够访问末尾的元组(包含 a 和 b)使用比 Item1 和 It ..
发布时间:2022-01-20 08:25:49 C#/.NET

C# 7.0 ValueTuples 与匿名类型

看看新的 C# 7.0 ValueTuples,我想知道它们是否会完全取代 Anonymous Types.我知道 ValueTuples 是结构,因此其行为与作为类的 Anonymous Types 有点不同.但是,我没有看到使用 Anonymous Type 而不是 ValueTuple 的用例. 是否存在使用 匿名类型 仍然比在 C# 7.0 中使用 ValueTuples 有益的用例 ..
发布时间:2022-01-20 08:11:01 C#/.NET

C# 7:如何使用元组将对象解构为单个值?

C# 7 的一个不错的新特性是可以为类定义解构器并将解构后的值直接分配给值元组. 但是,在对象被解构为单个值的情况下,我找不到将其分配给元组的方法.尽管有一种用于具有单个元素的元组类型 (ValueTuple),但使用括号的速记语法在这里不起作用.我发现访问解构器的唯一方法是直接调用 Deconstruct 方法,但这消除了它的好处,因为我可以为此使用任何方法. 有人知道将对象解 ..
发布时间:2022-01-20 00:10:31 C#/.NET

C# 7 元组和 lambda

使用新的 c# 7 元组语法,是否可以指定一个带有元组作为参数的 lambda,并在 lambda 中使用未打包的值? 例子: var list = new List(); 在 lambda 中使用元组的常规方法: list.Select(value => value.Item1*2 + value.Item2/2); 我希望一些新的糖可以避免 .Item1 .Item2,例如: ..
发布时间:2022-01-20 00:04:35 C#/.NET

何时使用:C# 7.0 中的元组与类

在使用元组之前,我曾经创建一个类及其变量,然后从这个类创建对象,并使该对象成为某些函数的返回类型. 现在,使用元组,我可以做同样的事情,在 C# 7.0 中,我们可以为元组属性分配易于理解的名称(在此之前,它是 item1、item2等.) 所以现在我想知道,我什么时候使用元组,什么时候在 C# 7.0 中创建一个类? 解决方案 由于这个答案在这里引起了一些人的困惑,我应该澄清 ..
发布时间:2022-01-20 00:02:39 C#/.NET

在 Azure 函数中运行时未找到 HttpRequestMessageExtensions

我有一个创建预编译 DLL 的 Azure Function 应用程序(因此它使用普通的 .cs 文件,而不是 VS2017 之前的旧 .csx 方法).以前,它的目标是 .Net Framework 4.5.2.我将它更新到 4.7,以便使用一些新的 C# 7 功能.我通过执行“Update-Package -Reinstall"更新了我的 NuGet 包,并验证它们都在我的 packages. ..
发布时间:2022-01-17 15:54:09 其他开发

如何删除异常“预定义类型'ValueTuple`2'必须是结构"调试的时候?

我开始在 c# 7.0 中使用新的元组功能,但我注意到无论是在返回元组的函数中还是在其调用者中,都无法在调试模式下检查变量值.而是显示一个异常: $exception 错误 CS8182:预定义类型 'ValueTuple`2' 必须是结构. 有没有办法消除该故障并正常调试? 解决方案 这似乎是微软已经修复的一个错误,但它会在未来的更新中提供(2017 年)https://github ..
发布时间:2022-01-12 08:27:57 其他开发

如何在 Team Foundation Server 2015 中启用 C# 7 构建?

我们在本地安装了 Team Foundation Server (TFS) 2015.我们希望使用 Visual Studio 2017 来利用最新的 C# 语言功能.我们还没有准备好升级到 TFS 2017.允许在 TFS 2015 中构建最新的 C# 语言功能需要哪些步骤? 解决方案 我没有完全按照这些步骤进行,但根据我所学到的,我认为它们会起作用: 安装 Visual Stud ..
发布时间:2022-01-12 08:27:36 C#/.NET

如何让新的异步语义在 VS2017 RC 中工作?

引用自 Visual Studio 2017 RC 发行说明 语言扩展和分析器 此版本包括我们正在为 C# 和 Visual Basic 的下一版本开发的一些建议的新语言扩展.这些新语言功能默认启用,包括: 对于 C#: 异步方法的类似任务的返回类型:这引入了返回任何来自异步方法的类似任务的类型.以前,这些返回类型仅限于 Task 和 Task. 它说它默认启用 ..
发布时间:2022-01-12 08:15:27 C#/.NET

C# 7 功能在 Visual Studio 2017 RC 上的 Web 项目中不起作用

我在解决方案中有几个项目,C# 7 功能(例如元组和 throw 表达式)在所有库项目中都可以正常工作,但是有一个(非核心)Web 项目由于以下原因无法编译C# 7 功能上的错误.编译后,错误窗口很快就会自行清除,可能是因为 IDE/编辑器编译相同的单元而没有错误.我必须使用输出窗口来查看编译器错误.就好像 IDE/编辑器假设 C# 7,但构建中使用的编译器不是. 我尝试将“__DEMO__ ..
发布时间:2022-01-12 08:05:45 C#/.NET

如何在 Visual Studio 2017 项目中启用 C# 7 的所有功能?

在 Visual Studio 2017 发布后,我想尝试使用新的 C# 7 功能创建简单的控制台项目.我希望我只需下载新的 Visual Studio 2017,然后创建新的控制台项目并可以使用新的 C# 7 功能.但我不能. 如果我安装 NuGet,我可以使用一些功能,例如元组包 System.ValueTuple. 但是对于其他功能,我不知道我需要做什么.例如 这个 NuGet ..
发布时间:2022-01-12 00:10:35 C#/.NET