0

C# で「型 'string' を 'int' に暗黙的に変換できません」というデバッグ エラーが発生し続けます。

ここに私のコードのスニペットがあります:

private void button2_Click(object sender, EventArgs e) //button to start takedown
        {
            byte[] packetData = System.Text.ASCIIEncoding.ASCII.GetBytes("<Packet OF Data Here>");
            string IP = "127.0.0.1";
            int port = "80";

            IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP), port);

            Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            client.SendTo(packetData, ep);
        }
4

7 に答える 7

12

もし可能なら:

int port = 80;

int 変数を使用できない場合は、解析する必要があります。

int port = Int32.Parse("80");

例えば

string a = "80";
int port = Int32.Parse(a);
于 2012-07-02T10:04:05.427 に答える
7

エラーは次のとおりです。

int port = "80";

に変換します

int port=80;
于 2012-06-30T13:49:20.760 に答える
3

ここに変換するstring必要がintあります:

int port = "80"; // can't assign string to int

それをintとして渡すだけです:

int port = 80;
于 2012-06-30T13:49:22.357 に答える
2

あなたの場合、ポートは「string」型ではなく「int」型である必要があるという他の全員の答えは正しいです。ただし、実際にユーザー入力からの文字列があり、それを int Int32.TryParseまたはInt32.Parseに戻す必要がある場合は十分です。

于 2012-06-30T18:02:25.377 に答える
0
int port = "80";

int文字列ではなく整数が必要なため、正しくありません。スピーチマークを使用する80と、整数ではなく文字列として提供されます。変数を整数として割り当てるように、スピーチマークを削除するだけです。

int port = 80;
于 2012-06-30T13:51:05.773 に答える
0

あなたがしたようにあなたは""で整数に言及することはできませんint port = "80";

正しいバージョンは int port = 80;

于 2012-07-02T10:55:50.110 に答える