Вопрос по visual-studio-2010, .net, c#, asp.net, sockets – Невозможно неявно преобразовать тип 'string' в 'int'

-2

Я продолжаю получать ошибку отладки "не могу неявно преобразовать тип" строка "apos; до "int" " в C #.

Вот фрагмент моего кода:

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);
        }

Ваш Ответ

7   ответов
7

Если возможно:

int port = 80;

Если вы не можете иметь переменную int, вам придется ее проанализировать:

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

например

string a = "80";
int port = Int32.Parse(a);
Я думаю, что это должно быть его ожидаемым.
0
int port = "80";

неверно, потому чтоint ожидается целое число, а не строка. Используя речевые метки, вы предоставляете80 как строка, а не как целое число. Просто удалите речевые метки, чтобы назначить переменную как целое число.

int port = 80;
0

Вы не можете упомянуть целое число в & quot; как ты сделалint port = "80";

правильная версия должна бытьint port = 80;

0

менять
int port = "80";
в
var порт = "80";

А также
IPEndPoint ep = новый IPEndPoint (IPAddress.Parse (IP), порт);
в
IPEndPoint ep = новый IPEndPoint (IPAddress.Parse (IP),Convert.ToInt32(port));

2

В вашем случае все остальные ответят, что порт должен иметь тип & quot; int & quot; вместо типа & quot; строка & quot; верно. Однако, если у вас действительно была строка из пользовательского ввода, и вам нужно было преобразовать ее обратно в intInt32.TryParse или жеInt32.Parse будет достаточно.

3

Вы должны конвертироватьstring вint Вот:

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

Просто передайте это как int:

int port = 80;
7

Вот ошибка:

int port = "80";

преобразовать его в

int port=80;

Похожие вопросы