C# - 如何从具有复杂类型的列表中获取项目

标签 c# list search

我是 c# 新手,对列表有疑问。

我有一个类(class)留言:

public class Message
{
    public int MessageId { get; set; }
    public DateTime CreatedDate { get; set; }
    public string Text { get; set; }
    public string Autor { get; set; }
    public string Source { get; set; }
}

和 MessageHandler 类:

class MessageHandler
{
    private List<Message> _dummyMessages = new List<Message>()
       {
            new Message(){
                MessageId = 1,
                CreatedDate = new DateTime(2014, 5, 27),
                Text = "Srpska vodoprivreda...",
                Autor = "Marko Markovic",
                Source = "Twitter"

            },
            new Message(){
                MessageId = 2,
                CreatedDate = new DateTime(2014, 5, 27),
                Text = "Aerodrom Beograd...",
                Autor = "Zoran Zoric",
                Source = "B92"

            }
        };

    public List<Message> GetLatestMessages(int nrMessagesToReturn)
    {
        List<Message> retVal;

        retVal = this._dummyMessages.GetRange(0, nrMessagesToReturn);

        return retVal;
    }

   //todo: Search list _dummyMessages and get Source and
   //check is it equal to "Twitter"
}

我的问题是我不知道如何从 List<Message> 获取源代码:( 我是这样开始的:

public List<Message> SearchBySource()
{
    List<Message> retVal;

    foreach (Message m in _dummyMessages) 
    {
        //..........
    }
    return retVal;
}

但是如何从 Message 中获取 Source 呢?

我想从 Message 中获取 Source,然后检查它是不是“Twitter”,因为我想从我的列表中计算所有“Twitter”来源...

抱歉提出愚蠢的问题,感谢您的帮助!!

最佳答案

 var count = _dummyMessages.Count(m => m.Source == "Twitter");

引用:http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

关于C# - 如何从具有复杂类型的列表中获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23888838/

相关文章:

c# - 对 CLR 中的装箱和拆箱操作进行了哪些性能改进(如果有)?

c# - 应用程序启动检查,我应该在 MVVM 模式中的什么地方执行它们?

c# - .Net 中的接口(interface)继承/层次结构 - 有更好的方法吗?

java - 如何连接两个字符串类型列表以形成列表类型的对象?

php - 如何根据mysql数据库中的关键字或字符串进行选择?

c# - 为什么此 EF 更新插入逻辑会导致删除而不是更新?

Python-从文件中读取两个列表作为列表

python - 从列表的开头和结尾弹出多个项目

elasticsearch - 如何在Elasticsearch中找到所有包含 “blah”的对象?

algorithm - A*什么时候终止