我目前正在接受Udemy的C#中级课程,我正在尝试进行其中一项练习.我查看了问答,让学生看到其他人的解决方案,我甚至复制并粘贴了其他人的解决方案,看看他们是否有效,我看不出我和其他人之间有什么区别但是出于某种原因我的代码打印出从最高到最低的数字,如果发生这种情况,代码中没有.练习的想法是创建一个堆栈,我们有3个方法:Push(),Pop()和Clear().push方法将对象添加到ArrayList,pop方法从堆栈顶部删除数字并返回数字.明确的方法是自我解释的.这是我的代码:
Stack Class:
public class Stack {
private ArrayList _arrayList = new ArrayList();
public void Push(object obj) {
if (obj is null) {
throw new InvalidOperationException();
}
else {
_arrayList.Add(obj);
}
}
public object Pop() {
if (_arrayList is null) {
throw new InvalidOperationException();
}
else {
var top = _arrayList.Count;
_arrayList.Remove(top);
return top;
}
}
public void Clear() {
for (int i = 0; i < _arrayList.Count; i++) {
_arrayList.Remove(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
课程类别:
class Program {
static void …Run Code Online (Sandbox Code Playgroud) 我刚刚开始我的C#编程中级课程,我正在学习如何创建多个类并创建在我的程序中使用的方法.
这对我来说是一个非常新的话题,所以如果它是非常明显或愚蠢的话我会道歉.我在所有方法中都得到了以下信息:
Cannot access static method in non-static context
Run Code Online (Sandbox Code Playgroud)
方法类中的代码:
public static int Add(params int[] numbers) {
var sum = 0;
foreach (var n in numbers) {
sum += n;
}
return sum;
}
public static int Subtract(params int[] numbers) {
var sum = 0;
foreach (var n in numbers) {
sum -= n;
}
return sum;
}
public static int Multiply(params int[] numbers) {
var sum = 0;
foreach (var n in numbers) {
sum *= n;
}
return …Run Code Online (Sandbox Code Playgroud)