我有一些存储在List中的文件路径,需要将它们附加到电子邮件中。但是如何访问列表项的值(在我的例子中:文件路径为字符串值)?
以下是代码:
List<string> filesToSend = new List<string>();
filesToSend = (List<string>)Session["filesListForFilesToSend"];
for (int i = 0; i < filesToSend.Count; i++)
{
//message.Attachments.Add(filesToSend[i].????????????????????);
}
提前致谢
答案 0 :(得分:3)
filesToSend [i]将返回您想要的路径字符串
答案 1 :(得分:2)
试试这个
foreach(string EachString in filesToSend)
{
message.Attachments.Add(EachString)
}
答案 2 :(得分:1)
首先,您不需要在会话中读取列表之后实例化第一个列表,只需:
List<string> filesToSend = (List<string>)Session["filesListForFilesToSend"];
当您通过List
访问index
时,您将获得泛型类型的对象。你可以使用很多方法来做到这一点:
使用for
循环:
for (int i = 0; i < filesToSend.Count; i++)
message.Attachments.Add(filesToSend[i]);
或foreach
foreach(string file in filesToSend)
message.Attachments.Add(file);
或while
int i = filesToSend.Lenght;
while(i--)
message.Attachments.Add(filesToSend[i]);
我会使用foreach
语句,但while
会为您提供更多性能(请记住,您将以相反的顺序循环)。
答案 3 :(得分:0)
错误不是我试图从我的列表中获取字符串的方式。错误是我试图将它附加到我的消息。
for (int i = 0; i < filesToSend.Count; i++)
{
string filePath = filesToSend[i];
Attachment attached = new Attachment(filePath);
attached.Name = filePath;
message.Attachments.Add(attached);
}
这就是它对我有用的方式。谢谢大家