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”它总是给出虚假而永远不会找到依恋。我是 对不起,我没有正确检查。感谢许多人的每一个身体 减去。它帮助我认真对待我的工作。谢谢大家。
答案 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;
}
}