Veröffentlicht 31. Juli 200916 j Hi, Ich versuche gerade eine Datentyp-Abfrage zu ertellen: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Typ { class Program { static void Main(string[] args) { int something = 7; if (something.GetType() == System.Int32) { Console.WriteLine("Richtig"); } else { Console.WriteLine("Falsch"); } Console.ReadLine(); } } } Der Compiler beschwert sich wie folgt: Fehler 1 "int" ist "Typ" und im angegebenen Kontext nicht gültig. C:\Users\Musti_2.Musti-PC\AppData\Local\Temporary Projects\Typ\Program.cs 13 47 Typ Ich hoffe, ihr könnt mir helfen! Mit freundlichen Grüßen mustiwebp
31. Juli 200916 j Ich versuche gerade eine Datentyp-Abfrage zu ertellen: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Typ { class Program { static void Main(string[] args) { int something = 7; if (something.GetType() == System.Int32) { Console.WriteLine("Richtig"); } else { Console.WriteLine("Falsch"); } Console.ReadLine(); } } } so gehts: if (something.GetType() == typeof(System.Int32)) oder noch besser: if (something is System.Int32)
31. Juli 200916 j Autor Danke schön! Es funzt! Könntest du mir noch erklären, wieso ich noch typeof hinzufügen musste?
31. Juli 200916 j Könntest du mir noch erklären, wieso ich noch typeof hinzufügen musste?Weil du Typen nicht direkt vergleichen kannst. Vergleichen kannst du nur Objekte, in diesem Fall vom Typ System.Type. typeof und GetType() geben solche Objekte zurück.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.