множественное вложение в C # не работает - PullRequest
0 голосов
/ 20 декабря 2011

В ответе на эти вопросы есть способ множественного вложения в c #.Следуя этому, я пишу код, подобный следующему: Инициализация:

     Attachment []attach=new Attachment[10]; 

затем: для каждого attach_num

    attach[attach_num] = new Attachment(file_path);

и затем присоединение в сообщении:

      for (int i = 0; i < attach_num; i++)
         {
            mmsg.Attachments.Add(attach[i]);

         }

Проблема: сообщение отправлено, но без вложений. Не показывать никаких ошибок.в чем проблема?кто-нибудь может мне помочь?

обратите внимание:

Я не могу ответить всем вам вовремя, извините за это. Я извиняюсь, потому что проблема была в моем собственном коде,Для проверки вложения у меня есть логическая переменная «IfanyAttach», она была инициализирована как false.когда я добавляю attach, я обращаю его в true. Но я забываю ставить точки, поэтому, когда я проверяю «ifanyAttach», он всегда дает false и никогда не находит вложения.Мне жаль, что я не проверю это должным образом.спасибо всем за многие много минус.это помогает мне быть серьезным к моей работе.спасибо всем.

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

РЕДАКТИРОВАТЬ: Просто для записи, этот был код в сообщении, когда я опубликовал свой ответ. С тех пор это было тихо исправлено. Неясно, была ли это only проблема в оригинальном посте, или это было также в real коде OP, который не работал. Это, конечно, все объяснит.


Это проблема:

for (int i = 0; i > attach_num; i++)

Сколько раз вы думаете, что цикл будет повторяться? :)

(Еще одна причина отдать предпочтение foreach петлям ...)

0 голосов
/ 20 декабря 2011

Было бы намного проще и не так подвержено ошибкам, если вы напишите вместо

for (int i = 0; i < attach_num; i++)

следующее

for (int i = 0; i < attach.Length; i++)

Свойство Length возвращает количество элементов вданный массив.По какой причине вы используете attach_num?

Другой подход заключается в том, что вы увеличиваете int в цикле foreach и используете переменную для доступа к массиву, например:

int[] int_array = new int[] { 1, 2, 3, 4, 5 };

int i = 0;

foreach (int item in int_array)
{
    i++;

    if (i == 2)
    {
        int_array[i] = 7;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...