public class album_node
                 {
                     public string artist_name;
                     public string album_id;
                                       }LinkedList<album_node> album_t = new LinkedList<album_node>();album_node tmp = new album_node(); foreach (FileInfo NextFile in TheFolder.GetFiles())  //操作文件夹中的文件。{
           //提取文件信息过程略
           tmp.artist_name = "123";  //"123"每次值都不同
           tmp.album_id = "456";     //"456"每次值都不同           album_t.AddLast(tmp);    // 问题在这,在这个 album_t 泛型中的值都是tmp的相同值。???123 456
} 请问如何让 album_t 的节点都有不同的值。  
  

解决方案 »

  1.   

    又查了一下。是后面的tmp把前面加入的tmp的内容替换了。怎么让每个tmp的内容都独立啊。
      

  2.   


    代码错误.应该是:
    foreach (FileInfo NextFile in TheFolder.GetFiles())  //操作文件夹中的文件。 { 
            album_node tmp = new album_node(); 
              //提取文件信息过程略 
              tmp.artist_name = "123";  //"123"每次值都不同 
              tmp.album_id = "456";    //"456"每次值都不同           album_t.AddLast(tmp);    
      

  3.   

    就是album_node tmp = new album_node(); 放到foreach里面声明定义才对.PS:LZ看看引用类型和值类型的区别