2017-09-08 3 views
-1

Open Hardware MonitorでCPUとGPU tempsを測定するArduinoプロジェクトを構築しようとしていますが、C#アプリケーションで問題が発生しました。'port'という名前のローカル変数を宣言できません

それはライン45上でこのエラーを与える:

それがすでに使用 ある、「ポート」に異なる意味を与えるため、「ポート」という名前のローカル変数がこの範囲 内で宣言することはできません別のものを示すための「親または現在の」スコープ

助けを得ることができますか?どうもありがとうございました!

private void Init() 
{ 
    try 
    { 
     notifyIcon1.Visible = false; 
     port.Parity = Parity.None; 
     port.StopBits = StopBits.One; 
     port.DataBits = 8; 
     port.Handshake = Handshake.None; 
     port.RtsEnable = true; 
     string[] ports = SerialPort.GetPortNames(); 
45  foreach (string port in ports) 
     { 
      comboBox1.Items.Add(port); 
     } 
     port.BaudRate = 9600; 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
+1

「foreach」内の変数の名前を変更するには、その名前の変数が既にあるようにしてください。 – juharr

+0

エラーはかなり明確です。 portという別の変数があります。 – OldProgrammer

+0

あなたはすでに 'port'という名前の変数をすでに持っています。だから、ループ変数に(あなたの 'foreach'の中で)同じ名前を与えることはできません。エラーメッセージはかなり明確です。 –

答えて

2

あなたの変数にはすでにportという名前の変数があります。だから、あなたのforeachループに再び宣言することはできません。

foreach (string port2 in ports) 
{ 
    comboBox1.Items.Add(port2); 
} 
+0

'serialPortNames'とforeach変数 'serialPortName'は、より説明的です – Sybren

関連する問題