将 double[] 添加到 C# 中的自定义堆栈
Add double[] to to custom stack in C#
我的问题是我无法将 double[] 推送到我的自定义堆栈。
if (int.TryParse(item[0], out intTemp))
{
customStack.Push(parts.Skip(1).Select(int.Parse).ToArray());
}
else if(double.TryParse(item[0], out doubleTemp))
{
customStack.Push(parts.Skip(1).Select(double.Parse).ToArray());
}
第一个 if 语句有效,但第二个给了我一个例外 - CS1503:参数 1:无法从 'double[]' 转换为 'int'。
问题是我什至没有尝试将 'double[]' 添加到 'int'。
这是我的推送方法:
public void Push(params T[] items)
{
foreach (T item in items)
{
this.stackData.Add(item);
Console.WriteLine($"Element {item} added to stack.");
}
}
将不胜感激。
customStack
好像是CustomStack<int>
。所以你的 Push
方法需要一个 params int[]
参数。
parts.Skip(1).Select(double.Parse).ToArray()
returns a double[]
编译器现在正尝试将其转换为 int[] items
参数的第一个元素,这会导致出现错误消息。
我的问题是我无法将 double[] 推送到我的自定义堆栈。
if (int.TryParse(item[0], out intTemp))
{
customStack.Push(parts.Skip(1).Select(int.Parse).ToArray());
}
else if(double.TryParse(item[0], out doubleTemp))
{
customStack.Push(parts.Skip(1).Select(double.Parse).ToArray());
}
第一个 if 语句有效,但第二个给了我一个例外 - CS1503:参数 1:无法从 'double[]' 转换为 'int'。
问题是我什至没有尝试将 'double[]' 添加到 'int'。
这是我的推送方法:
public void Push(params T[] items)
{
foreach (T item in items)
{
this.stackData.Add(item);
Console.WriteLine($"Element {item} added to stack.");
}
}
将不胜感激。
customStack
好像是CustomStack<int>
。所以你的 Push
方法需要一个 params int[]
参数。
parts.Skip(1).Select(double.Parse).ToArray()
returns a double[]
编译器现在正尝试将其转换为 int[] items
参数的第一个元素,这会导致出现错误消息。