如何使用c#

时间:2015-12-10 14:40:00

标签: c# list foreach dynamics-crm-2011

我正在使用以下代码段将某些项目添加到字符串列表中。但这是一个例外。

List<string> guids = null;
QueryExpression qExp = new QueryExpression
{
    EntityName = "account",
    ColumnSet = col1,
    Criteria = new FilterExpression
    {
        Conditions = { 
            new ConditionExpression("statecode",ConditionOperator.Equal,0)
        }
    }
};
sp.CallerId = g1;
EntityCollection ec1 = sp.RetrieveMultiple(qExp);
foreach (Entity item in ec1.Entities)
{
   guids.Add(Convert.ToString(item.Attributes["accountid"]));
}

异常: 对象引用未设置为对象的实例

3 个答案:

答案 0 :(得分:2)

List<string> guids = null;更改为List<string> guids = new List<string>();,一切顺利。

您必须先初始化列表,然后才能开始写入。您将其设置为null,因此例外。

答案 1 :(得分:2)

为什么不使用LINQ:

List<string> guids = ec1.Entities
   .Select(entity => Convert.ToString(entity.Attributes["accountid"]))
   .ToList();

答案 2 :(得分:1)

您无法使用List<string> guids = null;

尝试List<string> guids = new List<string>();