2016-08-29 7 views
0

Jungs ich verwende den folgenden Code, aber es zeigt keine Ausgabe und keinen Fehler angezeigt. Bitte helfen Sie.Anzeige leerer Ergebnisse C#

private void button1_Click(object sender, EventArgs e) 
{ 
    string[] ports = SerialPort.GetPortNames(); 
    //Display each port name to the console. 
    foreach (string port in ports) 
    { 
     listBox1.Items.Add(port); 
     //_serialport.open(); 
    } 
} 
+0

Hast du mit Debug-Punkte versuchen? Bekommen Sie Werte zu 'ports0'? – SilentCoder

+1

Was bedeutet "keine Ausgabe anzeigen"? Angenommen, Sie zeigen Ihre ListBox an, und sie wird leer angezeigt: 'SerialPort.GetPortNames()' könnte leer sein, sollten Sie das zuerst überprüfen. – TheHowlingHoaschd

+0

Hallo @TheHowlingHoaschd du hast Recht. serialport.GetportNames() ist leer. Es erhält keinen Wert. Aber derselbe Code läuft in einem anderen Laptop. Wie kann ich es reparieren?? –

Antwort

0
using System; 
namespace listSerial 
{ 
    class Program 
    { 
     public static void Main(string[] args) 
     { 
      string[] names = null; 
      try 
      { 
       names = System.IO.Ports.SerialPort.GetPortNames(); 
      } 
      catch(Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
      if(names!=null) 
      { 
       int portnum = names.Length; 
       if (portnum != 0) 
       { 
        for (int i = 0; i < names.Length; i++) 
         Console.WriteLine(names[i]); 
       } 
       else 
       { 
        Console.WriteLine("NO_COM"); 
       } 
      } 
     } 
    } 
} 
+1

Wie soll das die Frage beantworten? oder zumindest Menschen mit dem gleichen Problem helfen? Code ohne Kommentare oder Text wirkt offen willkürlich. –