我是编程的新手,所以除了到目前为止我们在 into c# 类(class)中所做的工作外,我自己不太了解,但我几乎到处都在寻找一种压缩 readlines 的方法,以便程序将读取许多输入无需为用户输入的每个变量编写一个 readline。
Console.WriteLine("Enter ID for Jane Doe: ");
c.ID = Console.ReadLine();
Console.WriteLine("Enter Insurance Name for Jane Doe: ");
c.Insurance = Console.ReadLine();
Console.WriteLine("Enter Height(In.) for Jane Doe: ");
c.Height = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter Weight(lbs.) for Jane Doe: ");
c.Weight = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("Enter Health Status for Jane Doe: ");
c.HealthStatus = Console.ReadLine();
这个例子来自不久前的一些作业,但令我苦恼的是我找不到压缩代码的方法。 基本上我希望能够在一个写入行中请求所有信息,然后只使用一个读取行/其他方法来输入每个变量,用户在其中输入一个变量的信息,点击回车,然后重复,但经常需要。有什么办法可以做到这一点,还是我只需要处理重复问题?
最佳答案
一般来说,你只需要处理重复。它清晰、易于调试,而且真的没那么糟糕。
现在,你可以这样做:
public class InputRequest
{
public String Request {get; set;}
public Action InputMethod {get; set;}
}
然后你会像这样创建:
List<InputRequest> allInputs = new List<InputRequest>();
allInputs.Add(new InputRequest() { Request = "Enter your height",
InputMethod = new Action(() => currentPerson.Height = Convert.ToInt32(Console.ReadLine())));
然后你可以遍历它们:
foreach (InputRequest req in allInputs)
{
Console.WriteLine(req.Request);
req.InputMethod();
}
但在所有现实中,为了稍微小一点的代码,这消除了很多可读性。我可能会在不同上下文中使用这样的模式,但在这里,您的代码没问题。
关于c# - 一种压缩多个阅读线的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28202668/