gpt4 book ai didi

c# - 如何在 C# 中将元组转换为数组?

转载 作者:行者123 更新时间:2023-12-05 01:19:31 27 4
gpt4 key购买 nike

我找不到任何相关信息,所以我不确定是否可行,但我有一个包含二维数组中元素坐标的元组。我希望能够找到二维数组中元素之间的距离,为此我想要一维数组形式的元素位置(我不确定是否有更好的方法去做这个)。那么是否可以将元组转换为数组?

这是数组:

string[,] keypad = new string[4, 3]
{
{"1", "2", "3"},
{"4", "5", "6"},
{"7", "8", "9"},
{".", "0", " "}
};

这是我用来获取多维数组中元素坐标的方法:

public static Tuple<int, int> CoordinatesOf<T>(this T[,] matrix, T value)
{
int w = matrix.GetLength(0); // width
int h = matrix.GetLength(1); // height

for (int x = 0; x < w; ++x)
{
for (int y = 0; y < h; ++y)
{
if (matrix[x, y].Equals(value))
return Tuple.Create(x, y);
}
}

return Tuple.Create(-1, -1);
}

最佳答案

在 C# 7.0 或更高版本中:

var TestTuple =  (123, "apple", 321) ;

object[] values = TestTuple.ToTuple()
.GetType()
.GetProperties()
.Select(property => property.GetValue(TestTuple.ToTuple()))
.ToArray();

关于c# - 如何在 C# 中将元组转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39335805/

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