Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 按名称从数组中获取值_Arrays_Vb.net - Fatal编程技术网

Arrays 按名称从数组中获取值

Arrays 按名称从数组中获取值,arrays,vb.net,Arrays,Vb.net,我试图通过名称从数组中获取一个值。其目的是将这些参数发送到SSR和事务查询 我有一个XML类型参数值: 'report paramerters Dim parametersTransactional(3) As ParameterValue parametersTransactional(0) = New ParameterValue() parametersTransactional(0).Name = "StartDate" parametersTransactional(0).Value

我试图通过名称从数组中获取一个值。其目的是将这些参数发送到SSR和事务查询

我有一个XML类型参数值:

'report paramerters
Dim parametersTransactional(3) As ParameterValue

parametersTransactional(0) = New ParameterValue()
parametersTransactional(0).Name = "StartDate"
parametersTransactional(0).Value = "2012-01-01T00:00:00"

parametersTransactional(1) = New ParameterValue()
parametersTransactional(1).Name = "EndDate"
parametersTransactional(1).Value = "2012-06-01T00:00:00"

parametersTransactional(2) = New ParameterValue()
parametersTransactional(2).Name = CustomersCustomerLocation"
parametersTransactional(2).Value = "1, 2, 3, 4, 5"
我想我可以得到一个名字的索引,然后得到这样的值

Dim startDate As String = "StartDate"
Dim idxStartDate As Integer = Array.IndexOf(parameters, startDate)
或者像这样:

Dim start2 As Integer = parameters.FindIndex(startDate)
ParameterValue的类型为:

'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.17929"),  _
 System.SerializableAttribute(),  _
 System.Diagnostics.DebuggerStepThroughAttribute(),  _
 System.ComponentModel.DesignerCategoryAttribute("code"),  _
 System.Xml.Serialization.XmlTypeAttribute([Namespace]:="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices")>  _
Partial Public Class ParameterValue
Inherits ParameterValueOrFieldReference

Private nameField As String

Private valueField As String

Private labelField As String

'''<remarks/>
Public Property Name() As String
    Get
        Return Me.nameField
    End Get
    Set
        Me.nameField = value
    End Set
End Property

'''<remarks/>
Public Property Value() As String
    Get
        Return Me.valueField
    End Get
    Set
        Me.valueField = value
    End Set
End Property

'''<remarks/>
Public Property Label() As String
    Get
        Return Me.labelField
    End Get
    Set
        Me.labelField = value
    End Set
End Property
“”
_
部分公共类参数值
继承参数ValuerFieldReference
私有名称字段作为字符串
私有值字段作为字符串
私有labelField作为字符串
'''
作为字符串的公共属性名()
得到
返回我的名字
结束
设置
Me.nameField=值
端集
端属性
'''
作为字符串的公共属性值()
得到
返回我。valueField
结束
设置
Me.valueField=值
端集
端属性
'''
作为字符串的公共属性标签()
得到
还给我,拉伯菲尔德
结束
设置
Me.labelField=值
端集
端属性
末级


因此,我遗漏了一些关键步骤。

您可以使用
First
First或default
方法轻松完成这一点。它们都是LINQ扩展方法。例如:

Dim p As ParameterValue = parameters.FirstOrDefault(function(x) x.Name = "StartDate")

您可以使用
First
FirstOrDefault
方法轻松实现这一点。它们都是LINQ扩展方法。例如:

Dim p As ParameterValue = parameters.FirstOrDefault(function(x) x.Name = "StartDate")

您可以使用
First
FirstOrDefault
方法轻松实现这一点。它们都是LINQ扩展方法。例如:

Dim p As ParameterValue = parameters.FirstOrDefault(function(x) x.Name = "StartDate")

您可以使用
First
FirstOrDefault
方法轻松实现这一点。它们都是LINQ扩展方法。例如:

Dim p As ParameterValue = parameters.FirstOrDefault(function(x) x.Name = "StartDate")

你的第二次尝试接近了。类似这样的方法会奏效:

Dim startdate As DateTime = DateTime.Parse(parametersTransactional(Array.FindIndex(parametersTransactional, Function(x) x.Name = "StartDate")).Value)

你的第二次尝试接近了。类似这样的方法会奏效:

Dim startdate As DateTime = DateTime.Parse(parametersTransactional(Array.FindIndex(parametersTransactional, Function(x) x.Name = "StartDate")).Value)

你的第二次尝试接近了。类似这样的方法会奏效:

Dim startdate As DateTime = DateTime.Parse(parametersTransactional(Array.FindIndex(parametersTransactional, Function(x) x.Name = "StartDate")).Value)

你的第二次尝试接近了。类似这样的方法会奏效:

Dim startdate As DateTime = DateTime.Parse(parametersTransactional(Array.FindIndex(parametersTransactional, Function(x) x.Name = "StartDate")).Value)

听起来你想要字典而不是数组?@crashmstr我可以。ParameterValue是我可以发送给SSRS的值。我还想将这些值提取到各个参数中,以便在事务查询中使用。我是否应该循环使用ParameterValue并将值放入字典中?听起来你想要的是字典而不是数组?@crashmstr我可以。ParameterValue是我可以发送给SSRS的值。我还想将这些值提取到各个参数中,以便在事务查询中使用。我是否应该循环使用ParameterValue并将值放入字典中?听起来你想要的是字典而不是数组?@crashmstr我可以。ParameterValue是我可以发送给SSRS的值。我还想将这些值提取到各个参数中,以便在事务查询中使用。我是否应该循环使用ParameterValue并将值放入字典中?听起来你想要的是字典而不是数组?@crashmstr我可以。ParameterValue是我可以发送给SSRS的值。我还想将这些值提取到各个参数中,以便在事务查询中使用。我应该循环使用ParameterValue并将这些值放在字典中吗?是的,这很有效!看起来是这样的:Dim p As ParameterValue=parameters.FirstOrDefault(Function(x)x.Name=“StartDate”)Dim StartDate As String=p.Value.ToString()是的,这很有效!看起来是这样的:Dim p As ParameterValue=parameters.FirstOrDefault(Function(x)x.Name=“StartDate”)Dim StartDate As String=p.Value.ToString()是的,这很有效!看起来是这样的:Dim p As ParameterValue=parameters.FirstOrDefault(Function(x)x.Name=“StartDate”)Dim StartDate As String=p.Value.ToString()是的,这很有效!它看起来是这样的:Dim p As ParameterValue=parameters.FirstOrDefault(Function(x)x.Name=“StartDate”)Dim StartDate As String=p.Value.ToString()我也会试试这个。谢谢我也要试试这个。谢谢我也要试试这个。谢谢我也要试试这个。谢谢