2016-08-04 28 views
2

私はC#コンソールアプリケーションを持っており、ローカルでないIPアドレスが見つかった場合に特定のアドレスに電子メールを送信できるようにしたいと考えています配列では、私はIf!=ステートメントを使用すると仮定していますが、何もできません。すべてのヒントや助けをいただければ幸いです。電子メール通知を送信する

System.Net.IPAddress[] addresslist = Dns.GetHostAddresses(C); 
    { 
    string IPs = ""; 
    bool firstIP = true; 
    foreach (IPAddress ip in addresslist) 
     { 
      if (!firstIP) 
       { 
        IPs = IPs + ","; 

       } 
        IPs = IPs + ip; 
        firstIP = false; 
        } 
        addresslist.ToString(); 
     if addresslist != { "10.1.20.99"} //example, have multiple IP's 
     then //..... this is where I am stuck 
+0

ようなもので、メッセージを送信することができます

var filteredIPs = ipaddresslist.Where(p => !p.StartsWith("10.1")); 

でローカルアドレスを削除することができ、あなたはループ全体を置き換えるために、 'String.Join'を使用することができます'私のアプリではStarts withの部分が機能していないようですが、これらのローカルアドレスを削除したくありません(IPアドレス= String.Join( "、"、addresslist.Select(ip => ip.ToString())) " –

答えて

1

あなたは次にあなたがところでsendimportantmails(String.Join(",", filteredIPs));

+0

配列は、私はちょうど非ローカルIPアドレスが見つかった場合に電子メールを送信したい。 –

+0

それは配列からそれを削除していない、そのローカルIPなしでリストを作る.. StartsWithは動作しているはずです - どのように動作していないのですか? – BugFinder

+0

okay cool、 "IPaddressには 'StartsWith'の定義が含まれておらず、 'IPアドレス'タイプの最初の引数を受け入れる拡張メソッド 'StartsWIth'が見つかりませんでした(ディレクティブまたはアセンブリ参照を使用していませんか? –

関連する問題