在MVC中使用Foreach循环

时间:2017-06-25 12:19:12

标签: c# asp.net asp.net-mvc

如何处理MVC中的var clickedIndex = 0 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { self.clickedIndex = indexPath.row } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "segue" { let runeArray = runes[clickedIndex]// variable runeArray is the child array from runes let destinationVC = segue.destination as! SecondViewController destinationVC.selectedRune = runeArray[0]// Now choose an actual Rune object from the array by index } } 循环。在波纹管控制器中,我调用了一个名为foreach的方法,该方法向其参数输入发送电子邮件,但在我的控制器上,我无法正确使用SendSimpleMessage()

screenshot

foreach

2 个答案:

答案 0 :(得分:1)

您的代码错误,foreach循环应该看起来像

foreach (var currentEmail in Emails) { //where var can be your Class maybe Email
    SendSimpleMessage(currentEmail);
}

一般来说,foreach看起来像:

foreach(T objectName in YourCollection){
       //T is your class
       //objectName is the way you access the object within your loop
       //in references the list
       //YourCollection is IEnumerable<T>
}

答案 1 :(得分:0)

ForEach声明的定义

for each语句用于遍历集合。您可以修改集合中的元素,但不能添加或删除元素。将为数组或集合中的每个元素执行语句。对集合中的所有元素完成迭代后,控制权将转移到每个块后面的语句

<强>语法:

   for each (type identifier in expression) 
  {  
       statements  
    }  

参数类型

标识符的类型。

<强>标识符

表示集合元素的迭代变量。当标识符是跟踪参考运算符时,您可以修改该元素。

<强>表达

数组表达式或集合。 collection元素必须是编译器可以将其转换为标识符类型。

<强>语句

要执行的一个或多个陈述。

简单示例:

string[] countries = { "india", "US", "UK" };


        foreach (string value in countries )
        {
            Console.WriteLine(value);
        }

以同样的方式,您的代码会发生如下变化:

 [HttpPost]
            public ActionResult EmailCampaignProcess(FormCollection collection)
            {
                //var userType = Request["userType"];
                //var emailContent = Request["emailContent"];
                //SendSimpleMessage();
                //ViewBag.Message = "Hello " + Request["userType"];


                var Emails = db.Users.Where(d => d.Subscriptions.Any(x => x.Status == true)).Select(u => u.Email).ToArray();

 foreach (string SingleEmail in Emails) {

                    SendSimpleMessage(SingleEmail);

                }
         // Or if you are not sure about the outcome type you can use the var keyword like below

                foreach (var SingleEmail in Emails) {

                    SendSimpleMessage(SingleEmail);

                }

            }

希望以上信息有用