将数据添加到列表中<class>

InkedGFX.

众所周知的成员
加入
2013年2月2日
消息
142
编程经验
Beginner
我试图将数据添加到类的列表中......所以基本上程序正在循环通过RSS Feed,我需要从饲料到列表中添加一些东西<DownloadManager>DownloadManager是我创建的类的地方....我在课程级别创建一个列表 - 列表<DownloadManager> listDM = new List<DownloadManager>();

这个代码工作...除了它一遍又一遍地添加相同的数据....不确定为什么....它是一个foreach循环......所以我的思考是每次它通过它来循环它应该添加新的数据?
请参阅下面的代码

 
       try            {
                WebClient client = new WebClient();

                foreach (string link in links)
                {

                    string url = link;
                    XmlDocument xmlDoc = new XmlDocument();

                    xmlDoc.Load(link);
                    XmlElement root = xmlDoc.DocumentElement;
                    XmlNodeList nodes = root.SelectNodes("channel/item");

                    foreach (XmlNode node in nodes)
                    {
                        if (node != null)
                        {
                            DownloadManager dm = new DownloadManager();
                            
                            dm.ItemTitle = node["title"].InnerText;
                            dm.Links = node["link"].InnerText;
                            dm.Description = node["description"].InnerText;


                           
                            string description = dm.Description;
                            string[] seperator = { " ", "src=" };
                            string Value = description;
                            string[] imagelink = Value.Split(seperator, StringSplitOptions.None);

                            string imagelink_final = imagelink[2].Replace('"', ' ').Trim();
                            ImageLink.Add(imagelink[2].Replace('"', ' ').Trim());

                            listDM.Add(new DownloadManager { ItemTitle = dm.ItemTitle, Description = dm.Description, Links = dm.Links });


感谢您的任何帮助

- inkedgfx.
 
Last edited:

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
首先,为什么你是每次迭代创建两个下载管理器对象?
C#:
try            {
         WebClient client = new WebClient();
 
         foreach (string link in links)
         {
 
             string url = link;
             XmlDocument xmlDoc = new XmlDocument();
 
             xmlDoc.Load(link);
             XmlElement root = xmlDoc.DocumentElement;
             XmlNodeList nodes = root.SelectNodes("channel/item");
 
             foreach (XmlNode node in nodes)
             {
                 if (node != null)
                 {
                     DownloadManager dm = [B][U][COLOR="#FF0000"]new DownloadManager[/COLOR][/U][/B]();
                      
                     dm.ItemTitle = node["title"].InnerText;
                     dm.Links = node["link"].InnerText;
                     dm.Description = node["description"].InnerText;
 
 
                     
                     string description = dm.Description;
                     string[] seperator = { " ", "src=" };
                     string Value = description;
                     string[] imagelink = Value.Split(seperator, StringSplitOptions.None);
 
                     string imagelink_final = imagelink[2].Replace('"', ' ').Trim();
                     ImageLink.Add(imagelink[2].Replace('"', ' ').Trim());
 
                     listDM.Add([B][U][COLOR="#FF0000"]new DownloadManager[/COLOR][/U][/B] { ItemTitle = dm.ItemTitle, Description = dm.Description, Links = dm.Links });
第二个是什么点?你只是用第一个的属性值填充它,所以为什么不仅仅是使用第一个?

至于您的问题,我无法在您的代码中看到任何明显的东西,这些代码可以解释您的列表,而不是文档中的内容。你调试了吗?这应该是你做的第一件事。在代码的顶部放置一个断点,然后按线路步骤。然后,您可以在每一步中查看正在发生的事情,使用Autos,Locals和Wook Windows查看数据等。如果代码有一个问题,那么它应该非常明显,因为一旦现实与期望不同,你就找到了它。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
C#:
public class EmailData
{
    public EmailData(string firstName, string lastName, string location)
    {
        this.FirstName = firstName;
        this.LastName = lastName;
        this.Location = location;
    }
    public string FirstName{ set; get; }
    public string LastName { set; get; }
    public string Location{ set; get; }
}
来源:C# - 使用类堆栈溢出将数据存储到列表中

该信息并不是任何用途。 OP显然已经知道如何创建对象并将其添加到列表中。它确保列表中的项目包含正确的数据,这是问题,您的帖子无需解决此问题。我们总是为人们提供帮助,但请确保提供的帮助确实解决了实际问题,否则它只是混淆此事。
 

戒指

新成员
加入
2013年9月29日
消息
4
编程经验
Beginner
该信息并不是任何用途。 OP显然已经知道如何创建对象并将其添加到列表中。它确保列表中的项目包含正确的数据,这是问题,您的帖子无需解决此问题。我们总是为人们提供帮助,但请确保提供的帮助确实解决了实际问题,否则它只是混淆此事。
嗨,谢谢你的提醒,我稍后会更好地做到。
 

InkedGFX.

众所周知的成员
加入
2013年2月2日
消息
142
编程经验
Beginner
我加两个,因为,我有两个名单和诚实,我不知道如何与第二个一起工作.....我想只使用一个.....第一个列表(DM)是我可以使用的一个......第二个(listdm)是我试图将数据添加到类列表的列表,如果我正确解释了吗?

第二个具有相同的数据......我将在今晚晚些时候步骤,以查看问题的位置....

谢谢你

- inkedgfx.
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
我加两个,因为,我有两个名单和诚实,我不知道如何与第二个一起工作.....我想只使用一个.....第一个列表(DM)是我可以使用的一个......第二个(listdm)是我试图将数据添加到类列表的列表,如果我正确解释了吗?

第二个具有相同的数据......我将在今晚晚些时候步骤,以查看问题的位置....

谢谢你

- inkedgfx.
从您所显示的代码中,您只有一个列表,您只能在DownloadManager Objetc下添加到它。你真的不是很多感觉我害怕。
 

InkedGFX.

众所周知的成员
加入
2013年2月2日
消息
142
编程经验
Beginner
每次Foreach循环触发时,我尝试从新节点添加数据....应将数据添加到列表中的列表中<DownloadManager>下载Manager是我创建的自定义类.....由于某种原因,同样的数据在代码到达Foreach循环的末尾时,相同的数据将添加到遍及之前......

在侧面笔记......我也试图从中获取数据<enclosure url>在RSS饲料中标记......但似乎没有工作.......

一些帮助将非常感谢......

- inkedgfx.
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
每次Foreach循环触发时,我尝试从新节点添加数据....应将数据添加到列表中的列表中<DownloadManager>下载Manager是我创建的自定义类.....由于某种原因,同样的数据在代码到达Foreach循环的末尾时,相同的数据将添加到遍及之前......

是的,这是一个名单。我仍然没有看到为什么需要创建每个迭代的两个下载管理器对象。无论如何,我在第2篇文章中说,你应该调试代码。你这样做了吗?如果没有,为什么不呢?如果是这样,你看到了什么?
 

InkedGFX.

众所周知的成员
加入
2013年2月2日
消息
142
编程经验
Beginner
我调试和调试结果与实际发生的结果不匹配......

所以我通过调试和列表确实获取了不同的数据添加到列表中.....这是令人困惑的部分,在DataGridView中显示的数据在每一行都是相同的。

所以由于我不能获得数据网格来工作,我更改为ListView ......是否有没有从列表ListDM中显示数据?

感谢您的帮助

- inkedgfx.
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
我调试和调试结果与实际发生的结果不匹配......

所以我通过调试和列表确实获取了不同的数据添加到列表中.....这是令人困惑的部分,在DataGridView中显示的数据在每一行都是相同的。

所以由于我不能获得数据网格来工作,我更改为ListView ......是否有没有从列表ListDM中显示数据?

感谢您的帮助

- inkedgfx.

什么DataGridView?这首次提到了本整个线程中的DataGridView。如果列表中的数据是正确的,但DataGridView中的数据不是显然,问题是从列表中填充DataGridView的方式。正如我们从未见过的那样,你也没有提到过它,我们不可能知道它有什么问题。如果列表中的数据正确,则要在DataGridView中正确显示正确的数据,只需将列表分配给DataGridView的DataSource属性。
 

InkedGFX.

众所周知的成员
加入
2013年2月2日
消息
142
编程经验
Beginner
什么DataGridView?这首次提到了本整个线程中的DataGridView。如果列表中的数据是正确的,但DataGridView中的数据不是显然,问题是从列表中填充DataGridView的方式。正如我们从未见过的那样,你也没有提到过它,我们不可能知道它有什么问题。如果列表中的数据正确,则要在DataGridView中正确显示正确的数据,只需将列表分配给DataGridView的DataSource属性。


我删除了DataGridView ..并用ListView替换它

- inkedgfx.
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
我删除了DataGridView ..并用ListView替换它

- inkedgfx.

好吧,你不应该有。你应该做的事情是越早告诉我们DataGridview,我们可以帮助您正确使用它,因为你显然不是。
 
最佳 底部