gpt4 book ai didi

C# 版本兼容性

转载 作者:行者123 更新时间:2023-12-05 02:24:54 26 4
gpt4 key购买 nike

我正在开发一个目标框架为 3.5 版的应用程序。但是在查看代码时,我发现了一个使用默认参数的方法:

public void Contact(string name, string email, string phone, string phoneAreaCode = "")
{
//...
}

并感到困惑。

语言特性与框架版本无关?两者之间有什么关系,为什么上面的代码可行?

编辑:我在 VS2010 中创建了 2 个项目(一个类库和一个控制台),它们都以 .NET 2.0 框架为目标。在类库中,我创建了一个带有可选字符串参数的方法。我在控制台应用程序中使用它没有任何问题,无论是否传递参数。这与VS2010有什么关系吗? “VS2010”是指 C# 编译器 4.0 吗?

最佳答案

编译器发出信息,但 3.5 运行时不使用它 - 它只是被忽略。

参见 this博客文章,以及这些 SO 问题 - one , two .

本质上,3.5 运行时会看到这个:

public void Contato(string nome, string email, string telefone, string ddd)
{
//...
}

关于C# 版本兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7422061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com