thysol
BIOS-Overclocker(in)
Hallo,
Ich habe vor kurzem eine Konsolen Applikation in C# geschrieben. Ich benutzte dass Microsoft Visual Studio C# als IDE dafuer. Dass Programm kann nichts weiter als bis 1000000 zaehlen. Hier ist es:
using System;
class Benchmark
{
public static void Main()
{
string x;
int y = 0;
Benchmark om = new Benchmark();
Console.WriteLine("Enter the letter a if you want to continue.\nIf you want to quit enter the letter b.");
x = Console.ReadLine();
switch (x)
{
case "a":
while (y < 1000000)
{
y = y + om.addition();
Console.Write("{0}\n", y);
}
break;
case "b":
Console.WriteLine("Bye");
break;
}
}
int addition()
{
int y;
y = 1;
return y;
}
}
Ich weiss dass dass Programm Sinnlos ist und es dient nur zur Uebung. Ich habe auch einige Sinnlose Dinge hinzugefuegt um verschiedene Funktionen in C# auszuprobieren. Zum Beispiel die Funktion ganz am Ende die sagt dass y = 1 ist. Die Funtkion ist ueberfluessig. Ich haette auch oben einfach schreiben koennen dass y = 1. Ich habe dass nur gemacht um mit Funktionen vertraut zu werden.
Dass Programm funktioniert wunderbar. Dann wollte ich dass selbe Programm als Windows Forms Applikation schreiben. Ich habe dass dann auch entsprechend umprogrammiert:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CPUBenchmark
{
public partial class Form1 : Form
{
int x = 1;
public void Loop()
{
while (x < 1000000)
{
addition.Text = x + " seconds";
x = x +1;
}
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void startbutton_Click(object sender, EventArgs e)
{
Loop();
startbutton.Enabled = false;
}
}
}
Ich habe in der Standard Form den Startknopf und ein Label hinzugefuegt um die aktuelle Zahl anzusehen. Also "Console.Write("{0}\n", y); = addition.Text = x + " seconds";". Der Microsoft IDE zeigt mir keine Bugs an beim Kompilieren. Wenn ich dass Programm starte erscheint dass Window mit dem Label wo die Zahlen bie eine Million stehen sollen und den Startknopf. Wenn ich den Startknopf druecke werden allerdings im Label die Zahlen nicht angezeigt. Im Taskmanager werden allerdings 25% CPU-Last angezeigt genau wie bei der Konsolen Applikation. Also ein Kern ist zu 100% ausgelastet.
Es werden anscheinend nur die Zahlen nicht angezeigt. Woran liegt dass?
Ich bedanke mich schon mal im Vorraus fuer die Antworten.
Ich habe vor kurzem eine Konsolen Applikation in C# geschrieben. Ich benutzte dass Microsoft Visual Studio C# als IDE dafuer. Dass Programm kann nichts weiter als bis 1000000 zaehlen. Hier ist es:
using System;
class Benchmark
{
public static void Main()
{
string x;
int y = 0;
Benchmark om = new Benchmark();
Console.WriteLine("Enter the letter a if you want to continue.\nIf you want to quit enter the letter b.");
x = Console.ReadLine();
switch (x)
{
case "a":
while (y < 1000000)
{
y = y + om.addition();
Console.Write("{0}\n", y);
}
break;
case "b":
Console.WriteLine("Bye");
break;
}
}
int addition()
{
int y;
y = 1;
return y;
}
}
Ich weiss dass dass Programm Sinnlos ist und es dient nur zur Uebung. Ich habe auch einige Sinnlose Dinge hinzugefuegt um verschiedene Funktionen in C# auszuprobieren. Zum Beispiel die Funktion ganz am Ende die sagt dass y = 1 ist. Die Funtkion ist ueberfluessig. Ich haette auch oben einfach schreiben koennen dass y = 1. Ich habe dass nur gemacht um mit Funktionen vertraut zu werden.
Dass Programm funktioniert wunderbar. Dann wollte ich dass selbe Programm als Windows Forms Applikation schreiben. Ich habe dass dann auch entsprechend umprogrammiert:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CPUBenchmark
{
public partial class Form1 : Form
{
int x = 1;
public void Loop()
{
while (x < 1000000)
{
addition.Text = x + " seconds";
x = x +1;
}
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void startbutton_Click(object sender, EventArgs e)
{
Loop();
startbutton.Enabled = false;
}
}
}
Ich habe in der Standard Form den Startknopf und ein Label hinzugefuegt um die aktuelle Zahl anzusehen. Also "Console.Write("{0}\n", y); = addition.Text = x + " seconds";". Der Microsoft IDE zeigt mir keine Bugs an beim Kompilieren. Wenn ich dass Programm starte erscheint dass Window mit dem Label wo die Zahlen bie eine Million stehen sollen und den Startknopf. Wenn ich den Startknopf druecke werden allerdings im Label die Zahlen nicht angezeigt. Im Taskmanager werden allerdings 25% CPU-Last angezeigt genau wie bei der Konsolen Applikation. Also ein Kern ist zu 100% ausgelastet.
Es werden anscheinend nur die Zahlen nicht angezeigt. Woran liegt dass?
Ich bedanke mich schon mal im Vorraus fuer die Antworten.