gpt4 book ai didi

.net - vb.net 中可以实现内联函数吗?

转载 作者:行者123 更新时间:2023-12-02 20:35:52 36 4
gpt4 key购买 nike

问题在标题

最佳答案

我看到的答案假设您正在谈论编译或 JIT 时间内联 - 它们是完全正确的。然而,我听说过的“内联”一词的其他用法是用于 lambda 表达式 - 在 C# 中,例如:

public IEnumerable<int> Foo()
{
int[] numbers = new[] { 1, 5, 2, 5, 6 };

return numbers.Select(x => x+10);
}

x => x+10 (lambda 表达式)可以被视为源代码术语中的“内联函数”,因为它是在另一个方法中声明为“内联”的额外函数。

是的,VB9 有这个:

Dim len As Func(Of String, Integer) = Function(x) x.Length       
Console.WriteLine(len("foo"))

我相信与 C# 相比,VB9 有更多限制 - 例如,我不认为您可以创建 Action<T> (或任何其他具有 void 返回类型的委托(delegate)类型)在 VB9 中使用 lambda 表达式,而在 C# 中则很容易。同样,我相信 lambda 必须是 VB9 中的单个表达式,而在 C# 中它可以是大括号中的整个 block 。

从 VB10 开始,您也可以在 VB 中创建多行 lambda 表达式。

当然,如果问题确实是指执行而不是源代码,那么所有这些都是无关紧要的:)

关于.net - vb.net 中可以实现内联函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/431839/

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