Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# Basisinvoer en -uitvoer

C# basisinvoer en uitvoer

In deze zelfstudie leren we hoe we input van de gebruiker kunnen nemen en de output in C# kunnen weergeven met behulp van verschillende methoden

C#-uitvoer

Om iets in C# uit te voeren, kunnen we

. gebruiken
System.Console.WriteLine() OR
System.Console.Write()

Hier, System is een naamruimte, Console is een klasse binnen naamruimte System en WriteLine en Write zijn methoden van klasse Console .

Laten we eens kijken naar een eenvoudig voorbeeld dat een string afdrukt naar het uitvoerscherm.

Voorbeeld 1:String afdrukken met WriteLine()

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			Console.WriteLine("C# is cool");
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

C# is cool

Verschil tussen WriteLine() en Write() methode

Het belangrijkste verschil tussen WriteLine() en Write() is dat de Write() methode drukt alleen de string af die eraan is gegeven, terwijl de WriteLine() methode drukt de string af en gaat ook naar het begin van de volgende regel.

Laten we het onderstaande voorbeeld eens bekijken om het verschil tussen deze methoden te begrijpen.

Voorbeeld 2:Hoe de methode WriteLine() en Write() gebruiken?

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			Console.WriteLine("Prints on ");
			Console.WriteLine("New line");

			Console.Write("Prints on ");
			Console.Write("Same line");
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

Prints on
New line
Prints on Same line

Afdrukken van variabelen en literalen met WriteLine() en Write()

De WriteLine() en Write() methode kan worden gebruikt om variabelen en letterlijke waarden af ​​te drukken. Hier is een voorbeeld.

Voorbeeld 3:Variabelen en Literalen afdrukken

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			int value = 10;

			// Variable
			Console.WriteLine(value);
			// Literal
			Console.WriteLine(50.05);
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

10
50.05

Twee strings combineren (samenvoegen) met de operator + en ze afdrukken

Strings kunnen worden gecombineerd/aaneengeschakeld met behulp van de + operator tijdens het afdrukken.

Voorbeeld 4:Aaneengeschakelde tekenreeks afdrukken met de operator +

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			int val = 55;
			Console.WriteLine("Hello " + "World");
			Console.WriteLine("Value = " + val);
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

Hello World
Value = 55

Aaneengeschakelde string afdrukken met Formatted String [Beter alternatief]

Een beter alternatief voor het afdrukken van aaneengeschakelde tekenreeksen is het gebruik van opgemaakte tekenreeksen. Met opgemaakte string kan de programmeur tijdelijke aanduidingen gebruiken voor variabelen. Bijvoorbeeld,

De volgende regel,

Console.WriteLine("Value = " + val);

kan worden vervangen door,

Console.WriteLine("Value = {0}", val);

{0} is de tijdelijke aanduiding voor variabele val die zal worden vervangen door de waarde van val . Omdat er maar één variabele wordt gebruikt, is er dus maar één tijdelijke aanduiding.

Er kunnen meerdere variabelen worden gebruikt in de opgemaakte string. We zullen dat in het onderstaande voorbeeld zien.

Voorbeeld 5:Aaneengeschakelde tekenreeks afdrukken met tekenreeksopmaak

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			int firstNumber = 5, secondNumber = 10, result;
			result = firstNumber + secondNumber;
			Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

5 + 10 = 15

Hier, {0} wordt vervangen door firstNumber , {1} wordt vervangen door secondNumber en {2} wordt vervangen door resultaat . Deze manier van afdrukken is beter leesbaar en minder foutgevoelig dan het gebruik van + telefoniste.

Ga voor meer informatie over tekenreeksopmaak naar C# tekenreeksopmaak .


C#-invoer

In C# is de eenvoudigste methode om invoer van de gebruiker te krijgen het gebruik van de ReadLine() methode van de Console klas. Echter, Read() en ReadKey() zijn ook beschikbaar om input van de gebruiker te krijgen. Ze zijn ook opgenomen in Console klasse.

Voorbeeld 6:tekenreeksinvoer van gebruiker

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			string testString;
			Console.Write("Enter a string - ");
			testString = Console.ReadLine();
			Console.WriteLine("You entered '{0}'", testString);
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer:

Enter a string - Hello World
You entered 'Hello World'

Verschil tussen ReadLine(), Read() en ReadKey() methode:

Het verschil tussen ReadLine() , Read() en ReadKey() methode is:

  • ReadLine() :De ReadLine() methode leest de volgende invoerregel uit de standaard invoerstroom. Het geeft dezelfde string terug.
  • Read() :De Read() methode leest het volgende teken uit de standaard invoerstroom. Het geeft de ascii-waarde van het teken terug.
  • ReadKey() :De ReadKey() methode verkrijgt de volgende toets die door de gebruiker wordt ingedrukt. Deze methode wordt meestal gebruikt om het scherm vast te houden totdat de gebruiker op een toets drukt.

Als u meer wilt weten over deze methoden, vindt u hier een interessante discussie over StackOverflow over:Verschil tussen Console.Read() en Console.ReadLine()?.


Voorbeeld 7:Verschil tussen Read() en ReadKey() methode

using System;
 
namespace Sample
{
	class Test
	{
		public static void Main(string[] args)
		{
			int userInput;

			Console.WriteLine("Press any key to continue...");
			Console.ReadKey();
			Console.WriteLine();

			Console.Write("Input using Read() - ");
			userInput = Console.Read();
			Console.WriteLine("Ascii Value = {0}",userInput);
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

Press any key to continue...
x
Input using Read() - Learning C#
Ascii Value = 76

Uit dit voorbeeld moet duidelijk zijn hoe ReadKey() en Read() methode werkt. Tijdens het gebruik van ReadKey() , zodra de toets wordt ingedrukt, wordt deze op het scherm weergegeven.

Wanneer Read() wordt gebruikt, duurt het een hele regel, maar retourneert alleen de ASCII-waarde van het eerste teken. Vandaar, 76 (ASCII-waarde van L ) wordt afgedrukt.


Numerieke waarden lezen (integer en floating point types)

Het lezen van een teken of string is heel eenvoudig in C#. Het enige wat u hoeft te doen is de corresponderende methoden aan te roepen zoals vereist.

Maar het lezen van numerieke waarden kan enigszins lastig zijn in C#. We gebruiken nog steeds dezelfde ReadLine() methode die we hebben gebruikt voor het verkrijgen van tekenreekswaarden. Maar sinds de ReadLine() methode de invoer als string ontvangt, moet deze worden geconverteerd naar integer of floating point type.

Een eenvoudige benadering voor het converteren van onze invoer is het gebruik van de methoden van Convert klasse.

Voorbeeld 8:Numerieke waarden lezen van gebruiker met behulp van Convert-klasse

using System;
 
namespace UserInput
{
	class MyClass
	{
		public static void Main(string[] args)
		{
			string userInput;
			int intVal;
			double doubleVal;

			Console.Write("Enter integer value: ");
			userInput = Console.ReadLine();
			/* Converts to integer type */
			intVal = Convert.ToInt32(userInput);
			Console.WriteLine("You entered {0}",intVal);

			Console.Write("Enter double value: ");
			userInput = Console.ReadLine();
			/* Converts to double type */
			doubleVal = Convert.ToDouble(userInput);
			Console.WriteLine("You entered {0}",doubleVal);
		}
	}
}

Wanneer we het programma uitvoeren, is de uitvoer

Enter integer value: 101
You entered 101
Enter double value: 59.412
You entered 59.412

De ToInt32() en ToDouble() methode van de klasse Convert converteert de invoer van de tekenreeks naar respectievelijk integer en dubbel type. Op dezelfde manier kunnen we de invoer naar andere typen converteren. Hier is een volledige lijst van beschikbare methoden voor de Convert-klasse.

Er zijn andere manieren om numerieke invoer van de gebruiker te krijgen. Ga voor meer informatie naar Een geheel getal lezen uit gebruikersinvoer.


C Taal

  1. Naar Cloud Infinity en verder
  2. Beveiliging en belangrijke voordelen van het gebruik van Cloud Linux
  3. C++ basisinvoer/uitvoer
  4. C Ingang Uitgang (I/O)
  5. Python invoer, uitvoer en import
  6. Java basis invoer en uitvoer
  7. Mailboxen:introductie en basisservices
  8. Semaphores:introductie en basisdiensten
  9. Wachtrijen:introductie en basisservices
  10. Python- en Raspberry Pi-temperatuursensor
  11. Analoge sensor input raspberry pi met behulp van een MCP3008:bedrading/installatie/basisprogramma