gpt4 book ai didi

vb.net - 如何将附加参数传递给谓词?

转载 作者:行者123 更新时间:2023-12-04 06:47:45 25 4
gpt4 key购买 nike

我的问题是通过传递特定日期从 List Of(Calendar) 中查找确切的 Calendar 对象。我了解了谓词,但不确定是否将参数传递给它。

colorcode 是 List Of (Calendar) 并且日历类有一个名为 DtmDate 的属性,我想与它进行比较并返回所需的对象。

Dim a As Calendar = colourcode.Find(AddressOf New Calendar.FindByDate)

我从谷歌那里得到了谓词样本,直到现在。但不确定如何传递我的参数,即日期。

最佳答案

您必须创建自己的谓词。您可以使用 lambda 来做到这一点,并通过将局部变量“提升”到其中,您可以对其进行参数化。这是 .NET 3.5/Visual Studio 2008 的一个有点傻的例子:

Dim lookFor As String = "e"
Dim predicate = Function(s as String) s.Contains(lookFor)

Dim list As New List(Of String)
list.Add("alfa")
list.Add("beta")
list.Add("gamma")
list.Add("delta")
Dim foundString As String = list.Find(predicate)

请注意如何更改 lookFor 的值搜索其他字符串。

在 .NET 4/Visual Studio 2010 中,Visual Basic 具有更具表现力的 lambda 表达式:
  • Visual Basic Lambda Expressions (Visual Studio 2008)
  • Visual Basic Lambda Expressions (Visual Studio 2010)
  • 关于vb.net - 如何将附加参数传递给谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3531150/

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