详细讲解foreach循环的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详细讲解foreach循环的用法相关的知识,希望对你有一定的参考价值。

foreach( 这里的参数具体什么意思啊? )
...


比如说 我想找一个 字符 在不在一个字符数组 char[] args 里.

foreach(char arg in args)//"char"是args里面每个元素的类型,arg就是从args里面提取出的“char”类型的一个元素,in是关键字,args就是你要操作的集合类型数据。其实和for()循环类似,只是不需要记录循环步数,同时,在foreach过程中,args是不允许被改变的。

if(arg == ch)

//存在

else

//不存在

)
参考技术A

foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。

能够应用的编程语言类别:Java、C# 、PHP、D语言(Phobos库)。

foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。

foreach语句的一般语法格式如下:

foreach(数据类型 标识符 in 表达式)

循环体

C# 示例:

int[]arr=newint[]0,1,2,3,4;
foreach(int i in arr)

Console.Write(i);

JAVA示例:

int[] a = 1,2,3;
for(int i : a)
System.out.print(i + ",");

参考技术B using System;

namespace Example_6

/// <summary>
/// 此程序演示如何使用 foreach 循环。
/// </summary>
class DigitLetterPunctuation

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)

// 存放字母的个数
int countLetters = 0;
// 存放数字的个数
int countDigits = 0;
// 存放标点符号的个数
int countPunctuations = 0;
// 用户提供的输入
string input;

Console.WriteLine("请输入一个字符串");
input = Console.ReadLine();

// 声明 foreach 循环以遍历
// 输入的字符串中的每个字符。
foreach(char chr in input)

// 检查字母
if(char.IsLetter(chr))
countLetters++;
// 检查数字
if(char.IsDigit(chr))
countDigits++;
// 检查标点符号字符
if(char.IsPunctuation(chr))
countPunctuations++;


Console.WriteLine("字母的个数为: 0", countLetters);
Console.WriteLine("数字的个数为: 0", countDigits);
Console.WriteLine("标点符号的个数为: 0", countPunctuations);



参考技术C 楼上说得很对,foreach还有个特点就是只能遍历,而
在遍历集合的时候不能对集合元素进行更改
参考技术D foreach(TypeA a in collectionOfTypeA aa)

//something to do


aa是一系列TypeA这类变量的集合(也可以是可以隐式转换为TypeA类型的变量)

map()和foreach()区别------详细用法介绍

1.foreach.用法详解

//forEach使用姿势一:
var numbers = [1, 2, 3, 4, 5],
    sum = 0;
    numbers.forEach(function(item) 
    sum += item;
);
console.log(sum); //结果:15

//forEach使用姿势二:
var numbers = [1, 2, 3, 4, 5],
  sum = 0;
function adder(item) 
  sum += item;

//直接调用adder函数,注意不加括号
numbers.forEach(adder);
console.log(sum); //结果:15

注意:map和forEach区别是:map有返回值而且必须return返回一个数组才行,而forEach没有返回值可直接打印结果。

2.map()用法详解

map需要返回值,如果不给return,默认返回undefined,map返回的是一个新数组。

应用场景1:假定有一个数值数组A,将A数组的数值以双倍的形式放到B数组。

var numbers = [1, 2, 3];
var newNumbers1 = numbers.map(function(item) 
  return item * 2;
);
console.log(newNumbers1); // 结果:[2,4,6]

应用场景2:假定有一个对象数组A,将A数组中对象某个属性的值存储在B数组中。

var cars = [
  
    model: "mini",
    price: 200
  ,
  
    model: "nio",
    price: 300
  
];
var prices = cars.map(function(item) 
  return item.price;
);
console.log(prices); //结果:[200, 300]

以上是关于详细讲解foreach循环的用法的主要内容,如果未能解决你的问题,请参考以下文章

java中for ..each 循环 的详细用法 举个例子

foreach用法

for循环 switch foreach用法合区别

c中foreach的用法

求:C#中 foreach() 的用法,

PHP中foreach用法详细讲解