C# 无法使用C从Xamarin.Forms中的类生成数组#

C# 无法使用C从Xamarin.Forms中的类生成数组#,c#,arrays,xamarin,xamarin.forms,C#,Arrays,Xamarin,Xamarin.forms,我正在使用C#开发一个Xamarin.Forms项目,以连接到OPC服务器并读取值。我能够读取这些值,但在将它们整理到列表或数组中时遇到问题。完成后,我想将这些值转换为ASCII 下面是传递的代码 var readRequest=new readRequest { //将NodeStoreRead设置为ReadValueId数组。 NodesToRead=new[]{ //从NodeId和AttributeId构造ReadValueId。 新ReadValueId{ //您可以从字符串解析nod

我正在使用C#开发一个Xamarin.Forms项目,以连接到OPC服务器并读取值。我能够读取这些值,但在将它们整理到列表或数组中时遇到问题。完成后,我想将这些值转换为ASCII

下面是传递的代码

var readRequest=new readRequest
{
//将NodeStoreRead设置为ReadValueId数组。
NodesToRead=new[]{
//从NodeId和AttributeId构造ReadValueId。
新ReadValueId{
//您可以从字符串解析nodeId。
//例如NodeId.Parse(“ns=2;s=Demo.Static.Scalar.Double”)
NodeId=NodeId.Parse(“ns=2;s=Link\u CatConHybrid.2D.InStr1”),
//解析(variableId.Server\u ServerStatus),
//变量类节点具有值属性。
AttributeId=AttributeId.Value
},
新ReadValueId
{
NodeId=NodeId.Parse(“ns=2;s=Link\u CatConHybrid.2D.InStr2”),
AttributeId=AttributeId.Value
}
}
};
//将ReadRequest发送到服务器。
var readResult=await channel.ReadAsync(readRequest);
//DataValue是一个包含值、时间戳和状态代码的类。
//“Results”数组返回数据值,每个ReadValueId返回一个数据值。
DataValue dvr=readResult.Results[0];
DataValue dvr2=readResult.Results[1];
WriteLine(“Instr1的值是{0},InStr2是{1}”,dvr.Variant.value,dvr2.Variant.value);
我做错了什么或忽略了什么

编辑:如何将所有
readResults
合并为一个


只需创建一个
DataValue
列表并存储它们。试试看:

List<DataValue> endResult = new List<DataValue>();
foreach (DataValue  value in readResult.Results)
{
    endResult.Add(value);
}
List endResult=new List();
foreach(readResult.Results中的数据值)
{
endResult.Add(值);
}

由于结果是数据值的任意集合,所以您可以说

var dataValueCollection = readResult.Results; // if you want return collection you can just say return readResult.Results
如果您试图将值写入console,则可以直接在readResult上进行循环。结果如下:

foreach(var dv in readResult.Results)
{
    Console.WriteLine("The Value of InStr = {0}", dv.Variant.Value);
    Console.WriteLine("The Value of InStr = {0}", dv.Variant.ReadValueId); // This line shows how to access ReadValueId.
    // You can access other properties same as above
}

预期的结果是什么?当前的结果是什么?当前代码会发生什么?有什么问题吗?您好,我不知道如何组合所有的readResult。正在读取的数据是什么样子的?readResult的类型是什么?您好;我试过了,它输出了“System.Collections.Generic.List`1[Workstation.ServiceModel.Ua.DataValue],而不是dvr.Variant.Value中包含的值