c#中的多个附件不起作用

时间:2011-12-20 17:53:49

标签: c# .net visual-studio-2010 email

In Answer of this questions 有一种方法可以在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。当我添加   我把它变成了真的。但我忘了点它,所以当我检查   “ifanyAttach”它总是给出虚假而永远不会找到依恋。我是   对不起,我没有正确检查。感谢许多人的每一个身体   减去。它帮助我认真对待我的工作。谢谢大家。

2 个答案:

答案 0 :(得分:2)

编辑:仅仅是为了记录,当我发布我的答案时,这个 帖子中的代码。从那以后一直默默地纠正。目前尚不清楚这是否只是原始帖子中的 问题,或者它是否也在OP的真实代码中无效。当然,它会解释一切。


这是问题所在:

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

您认为循环会迭代多少次? :)

(赞成foreach循环的另一个理由......)

答案 1 :(得分:0)

如果您编写

的instaed,那将会更容易,而且不会那么容易出错
for (int i = 0; i < attach_num; i++)

以下

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

Length属性返回给定数组中的项数。您使用attach_num的原因是什么?

另一种方法是在foreach循环中增加一个int并使用该变量来访问数组

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