C Amr Moneim Ответов: 1

Как выбрать 1 строку с 2 элементами из списка, чтобы использовать их в методе


я хочу выбрать 1 строку с 2 элементами из списка, чтобы использовать их в методе


здесь я добавляю 2 элемента в 1 ряд

Uniqueslist.Items.Add(string.Format("{0} , {1}", MobIDTextUnq.Text, MobCntTextUnq.Text));


и я хочу использовать эти 2 элемента в этом методе

public static void Loadmonster(int MobID,int Cont)
{
    DateTime time = System.DateTime.Now;
    time.ToLongTimeString();

    try
    {
        Packet packet = new Packet((ushort)Opcode.CLIENT_OPCODES.CLIENT_GM, true); //GM command
        packet.WriteUInt8((byte)6); //Loadmonster
        packet.WriteUInt8((byte)0);
        packet.WriteUInt32(MobID); // ID . mobs 22519
        packet.WriteUInt8(Cont); //No. of mobs 1
        packet.WriteUInt8((byte)3); //static
        Agent.Send(packet);
        CodeWindow.Logs.Items.Add("[" + time + "] : Loadmonster Done.");
    }
}


я думаю, что это по циклу, но я не знаю, как это сделать, и я хочу, если это как exmple 1 строка выбрана никогда не выбрать его снова и выбрать следующую строку и никогда не вернуться снова я надеюсь, что кто-то поможет мне с этой проблемой .
[1]: http://i.stack.imgur.com/sjKgt.png

Что я уже пробовал:

но это дает мне ошибку под.
var jointString = UnqEventWindow.Uniqueslist.Items[0];
              var sections = jointString.Split(',');

              int mobId = int.Parse(sections[0].Trim());
              int count = int.Parse(sections[1].Trim());

              Codes.Loadmonster(mobId, count);

NotPolitcallyCorrect

Получите элемент списка, разделите элемент списка, преобразуйте строки в целые числа, вызовите свой метод с результатом. Не уверен, в чем заключается ваш фактический вопрос или в чем проблема, поскольку "то, что я пробовал" не содержит того, что вы пробовали.

C Amr Moneim

я редактирую то, что я пробовал проверить это сейчас

NotPolitcallyCorrect

Хорошо, так теперь в чем проблема?

C Amr Moneim

это моя проблема http://www13.0zz0.com/2016/09/02/20/497757348.png

NotPolitcallyCorrect

Нет, это совсем не проблема. Это будет выглядеть как строка, которую вы, возможно, захотите использовать в качестве ссылки на картинку. Это не ссылка, и я не вижу картины.

C Amr Moneim

есть ли у вас другой способ получить 2 значения из 1 строки?

1 Ответов

Рейтинг:
2

Philippe Mori

Предполагается, что запятая используется только для разделения полей. Если это не всегда так, то код будет сломан.

Кстати использование текста для возврата элемента, это наихудший из возможных методов делать это так же очень хрупко. Что произойдет, когда приложение будет локализовано, и вы поймете, что не все страны используют один и тот же разделитель элементов списка? И хуже всего, если разделитель также действителен в количестве (например, тысячный разделитель).

При отображении комбинированных данных, подобных этому, вы должны никогда декодируйте текст, но вы должны сохранить исходную информацию, связанную с элементом.

Кстати, в .NET это действительно легко сделать, так как вы можете использовать пользовательские объекты для элементов списка. Вам нужно только переопределить ToString() чтобы обеспечить желаемое отображение (или у вас может быть пользовательское свойство для этой цели и указать в списке, какое свойство использовать. Тогда это тривиально, чтобы преобразовать сказать SelectedItem вернитесь к исходному типу объекта, а затем получите от него желаемую информацию.

Как только элемент не является одной строкой с самого начала, вы должны использовать пользовательский класс для представления элементов.

Кстати, вы должны попытаться показать свою проблему в тексте. И используйте гиперссылки. Не ожидайте, что пользователь будет вырезать и вставлять URL-адрес.