Tan*_*Tan 1 c# linq arrays dynamic-programming dynamic-arrays
我正在遍历包含双精度数组的对象.名称已更改.想象一下,这是Lab样本的一个对象,我试图获得Sample对象的平面表示.
从:
Sample
{
public string Name
public string Type
...
public double[] RawReadings
}
Run Code Online (Sandbox Code Playgroud)
举例来说:
Name,
RawRead1,
RawRead2,
RawRead3,
...
RawReadn
Run Code Online (Sandbox Code Playgroud)
我如何finangle sample.RawReadings给我数组中的所有n项?我不在乎它的名字与否.
编辑为清晰起见:我希望结果列表中的每个项目都具有Name和类中的属性,与RawReads一样多.我不希望结果列表中的每个项目都有一个名称和一个数组 - 这将与我所拥有的相同.
示例LinQ:
from sample in Samples
select new
{
Name = sample.Name,
sample.RawReadings
}
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
编辑: 我将此提供给第三方API调用,该调用期望"行和列格式".Aspose.Cells ImportCustomObject准确.有可能通过多次调用解决它并手动对齐它们,但这可能很棘手并且容易出错.
我希望结果列表中的每个项目都具有Name和RawReads的双倍数量.
你不能使用匿名类型.匿名类型具有在编译时指定的属性名称和类型,而您希望在执行时指定它们.目前尚不清楚为什么要尝试这样做,但最接近的是使用动态类型,你可以使用expando:
public dynamic SampleToDynamic(Sample sample)
{
IDictionary<string, object> expando = new ExpandoObject();
expando["Name"] = sample.Name;
for (int i = 0; i < sample.RawReadings.Length; i++)
{
expando["RawRead" + (i + 1)] = sample.RawReadings[i];
}
return expando;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |