如何获取List <t> Item </t>的字符串值

时间:2014-03-31 12:01:08

标签: c# asp.net list

我有一些存储在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].????????????????????);                
        }

提前致谢

4 个答案:

答案 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);
        }

这就是它对我有用的方式。谢谢大家