如何使用元组调用方法
本文关键字:方法 调用 元组 何使用 | 更新日期: 2023-09-27 18:31:01
我有一个如下所示的方法:
public static IEnumerable<Tuple<double, double>> LargestTriangleThreeBuckets(List<Tuple<double, double>> data, int threshold)
如何调用这种方法? 我目前有一系列双打。 我没有使用元组的经验。 谢谢
更新:非常感谢大家。稍微澄清一下:我正在对以 192kHz 采样的正交信号执行 16k fft。对于通常小于 1920 像素宽的显示器,需要对生成的 16384 值进行缩减采样。为此,我成功地实现了 LargestTriangleThreeBucket 缩减采样例程。 此例程可在 GitHub 上找到
我从一个双精度数组 outputBuffer[16384] 开始,将其放入 x 值从 1 到 16384 的元组列表中,然后调用该方法。
var myList = new List<Tuple<double, double>>();
for (int x = 0; x < fftOrder; x++)
{
myList.Add(new Tuple<double, double>(outputBuffer[x], x+1));
}
var result = LargestTriangleThreeBuckets(myList, 2048);
temporaryBuffer = result.Select(item => item.Item1).ToArray();
//output resulting buffer to the scope which is the user interface display of the signal
scope1.Channels[0].Data.SetYData(temporaryBuffer, 0, fftOrder/8);
fftOrder 是 = 16384。 代码按原样在 1 毫秒内执行,足够快,可以实时显示。据我所知,结果是与其他缩减采样方法相比有了显着改进。非常感谢所有在这里提供帮助的人!
怎么样
var result = LargestTriangleThreeBuckets(
new List<Tuple<double, double>>
{
Tuple.Create(0.0, 0.0),
Tuple.Create(2.0, 1.0),
Tuple.Create(0.0, 2.0)
},
42);
我认为,您正在寻找的方法Tuple.Create
.
只是猜测,但是,PointF
或System.Numerics.Vectors
的东西可能比Tuple<double, double>
更好地表示三角形的角。
元组只是泛型对象。 但是,无论您使用元组,请假设您创建了一个包含许多适当类型的项的类。
例如,Tuple<string,> 会给你 myObj.Item1 作为字符串,项目 2 和 3 作为整数。 你可以像这样使用它:
new Tuple<string, int, int>("Steve", 15, 22)
对于列表:
var myList = new List<Tuple<double, double>>();
myList.Add(new Tuple<double, double>(25, 23.333));
var result = LargestTriangleThreeBuckets(myList, 50);