当计时器 运行 显示在屏幕上时,我如何 运行 一个方法?
How do I run a method while a timer is running on screen?
首先 - 这是家庭作业。我应该超越我们所学的,所以我想到了一个 WPM 控制台应用程序。
我在 Timers 上进行了大量搜索,但这对我的第一学期来说太过头了。
所以我找到了一个更简单的方法。问题是,我希望能够调用一些字符串并让用户输入它们,最后 运行 计算以确定他们每分钟的单词数。我读到使用 Task.Factory.StartNew 应该让我 运行 两种方法。
class Program
{
static void Main( string[] args )
{
Timer go = new Timer( );
WordBank display = new WordBank( );
Task.Factory.StartNew(go.timer1_Tick);
Task.Factory.StartNew(display.LevelOneWords);
Console.ReadKey( );
}
}//end main
class Timer
{
public Timer()
{}
public void timer1_Tick( )
{
int seconds= 0;
DateTime dt = new DateTime( );
do
{
Console.Write("One minute timer: " + dt.AddSeconds(seconds).ToString("ss"));
Console.Write("\r");
seconds++;
Thread.Sleep(1000);
} while ( seconds< 60 );
}
}//end Timer
class WordBank
{
public WordBank()
{ }
public void LevelOneWords()
{
string easyWords = "the boy had so much fun at the park.";
Console.WriteLine("\n\n", easyWords);
Console.ReadKey( );
}
当我 运行 程序时,计时器启动一秒钟,然后立即被字符串替换。我使用 Task.Factory.StartNew 不正确吗?
与其 运行 在他们打字时使用计时器(同时需要两个程序),不如尝试获取他们最初开始打字的时间、他们结束打字的时间,然后进行除法。即:
static void Main()
{
// Displays WordBank
WordBank display = new WordBank();
var startTime = DateTime.Now;
// Let them type for X amount of time
var totalWords = TakeUserInputForXSeconds(45);
var endTime = DateTime.Now;
var wpm = totalWords / (endTime.Subtract(startTime).TotalMinutes);
}
对于TakeUserInputForXSeconds方法,我会看看这个post中的信息:Stop running the code after 15 seconds
首先 - 这是家庭作业。我应该超越我们所学的,所以我想到了一个 WPM 控制台应用程序。 我在 Timers 上进行了大量搜索,但这对我的第一学期来说太过头了。 所以我找到了一个更简单的方法。问题是,我希望能够调用一些字符串并让用户输入它们,最后 运行 计算以确定他们每分钟的单词数。我读到使用 Task.Factory.StartNew 应该让我 运行 两种方法。
class Program
{
static void Main( string[] args )
{
Timer go = new Timer( );
WordBank display = new WordBank( );
Task.Factory.StartNew(go.timer1_Tick);
Task.Factory.StartNew(display.LevelOneWords);
Console.ReadKey( );
}
}//end main
class Timer
{
public Timer()
{}
public void timer1_Tick( )
{
int seconds= 0;
DateTime dt = new DateTime( );
do
{
Console.Write("One minute timer: " + dt.AddSeconds(seconds).ToString("ss"));
Console.Write("\r");
seconds++;
Thread.Sleep(1000);
} while ( seconds< 60 );
}
}//end Timer
class WordBank
{
public WordBank()
{ }
public void LevelOneWords()
{
string easyWords = "the boy had so much fun at the park.";
Console.WriteLine("\n\n", easyWords);
Console.ReadKey( );
}
当我 运行 程序时,计时器启动一秒钟,然后立即被字符串替换。我使用 Task.Factory.StartNew 不正确吗?
与其 运行 在他们打字时使用计时器(同时需要两个程序),不如尝试获取他们最初开始打字的时间、他们结束打字的时间,然后进行除法。即:
static void Main()
{
// Displays WordBank
WordBank display = new WordBank();
var startTime = DateTime.Now;
// Let them type for X amount of time
var totalWords = TakeUserInputForXSeconds(45);
var endTime = DateTime.Now;
var wpm = totalWords / (endTime.Subtract(startTime).TotalMinutes);
}
对于TakeUserInputForXSeconds方法,我会看看这个post中的信息:Stop running the code after 15 seconds