574得票3回答
“x is null”和“x == null”的区别是什么?

在C# 7中,我们可以使用if (x is null) return; 代替if (x == null) return; 使用新方式(以前的示例)是否有任何优势? 语义是否有所不同? 如果不是仅仅因为口味,那么我应该在什么时候使用一种而不是另一种方式? 参考:C# 7.0有什么新功能.

430得票10回答
预定义类型'System.ValueTuple´2´'未定义或未导入。

我已经安装了Visual Studio 15 Preview 3,并尝试使用新的元组功能。static void Main(string[] args) { var x = DoSomething(); Console.WriteLine(x.x); } static (in...

232得票5回答
本地函数 vs Lambda C# 7.0

我正在研究C# 7.0 的新实现,发现它们实现了局部函数。但我无法想象一个局部函数比Lambda表达式更好的场景,并且两者之间有什么区别。 我理解Lambda是匿名函数,而局部函数不是,但我无法想出一个现实世界的场景,局部函数优于Lambda表达式。 非常感谢您提供任何示例。谢谢。

180得票6回答
System.ValueTuple和System.Tuple有什么区别?

我反编译了一些C# 7的库,看到使用了ValueTuple泛型。那么什么是ValueTuples,为什么不用Tuple呢? https://learn.microsoft.com/zh-cn/dotnet/api/system.tuple https://learn.microsoft.c...

155得票2回答
如何在Visual Studio 2015中使用C# 7?

Visual Studio 2017 (15.x)支持C# 7,但是对于Visual Studio 2015 (14.x)呢? 我该如何在其中使用C# 7?

119得票2回答
在C#中,你能否定义一个带有名称的值元组别名?

我知道在C#中可以使用using关键字来定义别名。 例如:using ResponseKey = System.ValueTuple<System.Guid, string, string>; 然而,使用新的值元组语法定义一个是否可能?using ResponseKey = (G...

113得票4回答
使用Visual Studio 2017和C# 7.0编写的方法无法返回元组。

我安装了一个星期前发布的 Visual Studio 2017 Community,并开始探索 C# 7 的新特性。因此,我创建了一个简单的方法来返回两个值:public class Program { public static void Main(string[] args) ...

107得票2回答
奇怪的返回语法语句

我知道这可能听起来很奇怪,但我甚至不知道如何在互联网上搜索这个语法,也不确定它的确切含义。 所以我看了一些MoreLINQ代码,然后我注意到了这个方法。public static IEnumerable<TSource> DistinctBy<TSource, TKey&g...

106得票3回答
尝试使用out var参数的TryParse函数

C# 6.0的一个新特性允许在TryParse方法内声明变量。 我有一些代码:string s = "Hello"; if (int.TryParse(s, out var result)) { } 但我收到了编译错误: 我做错了什么? 附加信息:项目设置中已选择 C# 6.0 和 ....

103得票22回答
无法加载文件或程序集'System.ValueTuple'

我有一个VS2017项目,它编译成一个DLL,然后由另一个人编写的EXE调用。两个项目都针对.NET Framework 4.6.2。我重写了我的DLL方法以返回一个元组,并导入了相关的NuGet包。当我编译该项目时,它将System.ValueTuple.dll包含在输出目录中,然后部署到其...