Можно ли оптимизировать приведенный код - C#
Формулировка задачи:
Понимаю, что нужно создать ещё одно измерение массива, но боюсь, что я уже и в этом запутался.
... byte[] mac10 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xFA, 0xD5 }; //30-85-A9-A0-FA-D5 byte[] mac1 = new byte[] { 0xC8, 0x60, 0x00, 0xC5, 0xC1, 0xDF }; //C8-60-00-C5-C1-DF byte[] mac2 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x1D }; //30-85-A9-A0-DF-1D byte[] mac3 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x1E }; //30-85-A9-A0-DF-1E byte[] mac4 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x2E }; //30-85-A9-A0-DF-2E byte[] mac5 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x21 }; //30-85-A9-A0-FA-21 byte[] mac6 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x1C }; //30-85-A9-A0-FA-1C byte[] mac7 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x28 }; //30-85-A9-A0-FA-28 byte[] mac8 = new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x20 }; //30-85-A9-A0-FA-20 ... private void button1_Click(object sender, EventArgs e) { UdpClient client = new UdpClient(); client.Connect(IPAddress.Broadcast, 40000); byte[] packet10 = new byte[17 * 6]; byte[] packet1 = new byte[17 * 6]; byte[] packet2 = new byte[17 * 6]; byte[] packet3 = new byte[17 * 6]; byte[] packet4 = new byte[17 * 6]; byte[] packet5 = new byte[17 * 6]; byte[] packet6 = new byte[17 * 6]; byte[] packet7 = new byte[17 * 6]; byte[] packet8 = new byte[17 * 6]; for (int i = 0; i < 6; i++) { packet10[i] = 0xFF; packet1[i] = 0xFF; packet2[i] = 0xFF; packet3[i] = 0xFF; packet4[i] = 0xFF; packet5[i] = 0xFF; packet6[i] = 0xFF; packet7[i] = 0xFF; packet8[i] = 0xFF; } for (int i = 1; i <= 16; i++) for (int j = 0; j < 6; j++) { packet10[i * 6 + j] = mac10[j]; packet1[i * 6 + j] = mac1[j]; packet2[i * 6 + j] = mac2[j]; packet3[i * 6 + j] = mac3[j]; packet4[i * 6 + j] = mac4[j]; packet5[i * 6 + j] = mac5[j]; packet6[i * 6 + j] = mac6[j]; packet7[i * 6 + j] = mac7[j]; packet8[i * 6 + j] = mac8[j]; } client.Send(packet10, packet10.Length); client.Send(packet1, packet10.Length); client.Send(packet2, packet10.Length); client.Send(packet3, packet10.Length); client.Send(packet4, packet10.Length); client.Send(packet5, packet10.Length); client.Send(packet6, packet10.Length); client.Send(packet7, packet10.Length); client.Send(packet8, packet10.Length); }
Решение задачи: «Можно ли оптимизировать приведенный код»
textual
Листинг программы
byte[][] macs = new byte[9][] { new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xFA, 0xD5 }, //30-85-A9-A0-FA-D5 new byte[] { 0xC8, 0x60, 0x00, 0xC5, 0xC1, 0xDF }, //C8-60-00-C5-C1-DF new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x1D }, //30-85-A9-A0-DF-1D new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x1E }, //30-85-A9-A0-DF-1E new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x2E }, //30-85-A9-A0-DF-2E new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x21 }, //30-85-A9-A0-FA-21 new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x1C }, //30-85-A9-A0-FA-1C new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x28 }, //30-85-A9-A0-FA-28 new byte[] { 0x30, 0x85, 0xA9, 0xA0, 0xDF, 0x20 }, //30-85-A9-A0-FA-20 }; byte[][] packets = new byte[9][]; for (int i = 0; i < 9; i++) { packets[i] = new byte[17 * 6]; for (int j = 0; j < 6; j++) { packets[i][j] = 0xFF; } } for (int i = 0; i < 9; i++) { for (int j = 1; j <= 16; j++) { for (int k = 0; k < 6; k++) { packets[i][j * 6 + k] = macs[i][k]; } } } UdpClient client = new UdpClient(); for (int l = 0; l < 9; l++) { client.Send(packets[l], packets[l].Length); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д