我是编程新手并且正在参加C#课程。当我尝试编写这个程序时,我收到编译器错误CS1001。
我阅读了编译器错误描述(链接如下),但我真的没有得到它。我做错了什么?
http://msdn.microsoft.com/en-us/library/b839hwk4.aspx
这是我的源代码:
using System;
public class InputMethodDemoTwo
{
public static void Main()
{
int first, second;
InputMethod(out first, out second);
Console.WriteLine("After InputMethod first is {0}", first);
Console.WriteLine("and second is {0}", second);
}
public static void InputMethod(out first, out second)
// The error is citing the line above this note.
{
one = DataEntry("first");
two = DataEntry("second");
}
public static void DataEntry(out int one, out int two)
{
string s1, s2;
Console.Write("Enter first integer ");
s1 = Console.ReadLine();
Console.Write("Enter second integer ");
s2 = Console.ReadLine();
one = Convert.ToInt32(s1);
two = Convert.ToInt32(s2);
}
}
根据说明,我应该有一个方法b(InputData)从方法c(DataEntry)中提取语句......以下是说明:
图6-24中InputMethodDemo程序中的InputMethod()包含重复 提示用户并检索整数值的代码。重写程序所以 InputMethod()调用另一种方法来完成工作。重写的InputMethod() 将只需要包含两个语句:
one = DataEntry(“first”);
two = DataEntry(“second”);
将新程序保存为InputMethodDemo2.cs。“
他们引用的InputMethodDemo是同一个程序,只是它只调用一个方法(InputMethod)而不是两个方法。
我上面提到的文字是“Microsoft®VisualC#®2008,面向对象编程简介,3e,Joyce Farrell”
非常感谢任何建议/帮助。
答案 0 :(得分:5)
这是您应该做的事情:
using System;
public class InputMethodDemoTwo
{
public static void Main()
{
int first, second;
InputMethod(out first, out second);
Console.WriteLine("After InputMethod first is {0}", first);
Console.WriteLine("and second is {0}", second);
Console.ReadLine();
}
public static void InputMethod(out int first, out int second)
//Data type was missing here
{
first = DataEntry("first");
second = DataEntry("second");
}
public static int DataEntry(string method)
//Parameter to DataEntry should be string
{
int result = 0;
if (method.Equals("first"))
{
Console.Write("Enter first integer ");
Int32.TryParse(Console.ReadLine(), out result);
}
else if (method.Equals("second"))
{
Console.Write("Enter second integer ");
Int32.TryParse(Console.ReadLine(), out result);
}
return result;
}
}
答案 1 :(得分:2)
更改
public static void InputMethod(out first, out second)
{
one = DataEntry("first");
two = DataEntry("second");
}
到
public static void InputMethod(out DataEntry first, out DataEntry second)
{
first = DataEntry("first");
second = DataEntry("second");
}
您尚未提供参数类型。此外,您的参数被称为第一和第二,而不是一和二。