带有select / from方括号的Foreach?

时间:2013-08-22 07:20:37

标签: c# foreach apex-code

我最近正在查看包装类并使用Google搜索以下页面... http://wiki.developerforce.com/page/Wrapper_Class

虽然我理解了包装类,但我对以下内容感到困惑......

public List<cContact> getContacts() {

    if(contactList == null) {

        contactList = new List<cContact>();

        for(Contact c: [select Id, Name, Email, Phone from Contact limit 10]) {

            // As each contact is processed we create a new cContact object and add it to the contactList
            contactList.add(new cContact(c));
        }
    }
    return contactList;
}

特别是......

for(Contact c: [select Id, Name, Email, Phone from Contact limit 10]) { ... }

那是什么选择?我可以在哪里查看foreach中的更多信息?

我知道LINQ和select,from,where等等......但我之前从未见过 _ 这个 _ 语法。它是什么以及如何更多地研究这种语法?

2 个答案:

答案 0 :(得分:2)

我不喜欢留下未回答的问题......

对于提出的特定问题...... http://www.salesforce.com/us/developer/docs/apexcode/Content/langCon_apex_loops_for_SOQL.htm

一般来说,对于Salesforce对象查询语言(SOQL) - 方括号中的select / from被称为... http://www.salesforce.com/us/developer/docs/soql_sosl/salesforce_soql_sosl.pdf

对于一般的APEX语言,因为这是恰好看起来非常C#语言的语言(更多问题的例子)...... http://wiki.developerforce.com/page/Apex_Code:_The_World's_First_On-Demand_Programming_Language

答案 1 :(得分:1)

此备忘单还显示了有关该类型语法的更多信息,以及其他使用APEX的方法。查看here

For循环...“定义了一个循环。三种类型的for循环是:使用变量迭代,遍历列表,迭代查询。

示例:

String s = 'Acme'; 
for (Account a : [SELECT Id, Name, FROM account WHERE Name LIKE :(s+'%')]) 
{
    // Your code
}

该语法适用于上面提到的SOQL,它与C#自己的LINQ语法布局略有不同,尽管它们非常相似!