一、foreach遍历数组
在C#中,遍历数组可以使用foreach
循环,它会自动遍历数组的每个元素。
以下是遍历整型数组的示例代码:
int[] nums = {1, 2, 3, 4, 5};
foreach (int num in nums)
{
Console.WriteLine(num);
}
上述示例中,定义了一个包含5个元素的整型数组nums
,使用foreach
循环遍历输出每个元素的值。
二、foreach遍历时报集合已修改
在使用foreach
遍历集合或列表时,如果在遍历过程中修改了集合,则会抛出"集合已修改"的异常错误。
以下是遍历集合并删除其中的元素的示例代码:
List<int> nums = new List<int>{1, 2, 3, 4, 5};
foreach (int num in nums)
{
if (num % 2 == 0)
{
nums.Remove(num);
}
}
上述示例中,定义了一个包含5个元素的整型列表nums
,使用foreach
循环遍历并删除其中的偶数元素,会引发异常错误。
解决该问题的方法有两种,第一种是在遍历时创建一个新的列表,并将原列表中的元素复制到新列表中进行操作;第二种是在操作时使用for
循环进行操作。
三、foreach遍历二维数组
遍历二维数组时需要使用嵌套foreach
循环,内层循环遍历每一行中的元素,外层循环遍历每一行。
以下是遍历整型二维数组的示例代码:
int[,] nums = {{1, 2}, {3, 4}, {5, 6}};
foreach (int row in nums)
{
foreach (int num in row)
{
Console.WriteLine(num);
}
}
上述示例中,定义了一个包含3行2列的整型二维数组nums
,使用嵌套foreach
循环遍历输出每个元素的值。
四、foreach遍历数组对象
数组对象是C#中的高级特性,通过使用对象数组,可以将不同类型的对象存储在同一个数组中。 以下是遍历包含不同对象的数组的示例代码:
object[] objs = {"Hello, World!", 123, true};
foreach (object obj in objs)
{
Console.WriteLine(obj);
}
上述示例中,定义了一个包含不同类型对象的数组objs
,使用foreach
循环遍历输出每个元素的值。
五、foreach遍历集合
与数组类似,集合也可以使用foreach
循环进行遍历,遍历时会自动跳过null
元素。
以下是遍历字符串集合的示例代码:
List<string> strs = new List<string>{"Hello", "World", null, "!"};
foreach (string str in strs)
{
if (str != null)
{
Console.WriteLine(str);
}
}
上述示例中,定义了一个包含4个字符串元素的列表strs
,使用foreach
循环遍历输出每个非null
元素的值。
六、foreach遍历List集合
List
集合是C#中一个常用的数据结构,它可以通过foreach
循环遍历。
以下是遍历整型List
集合的示例代码:
List<int> nums = new List<int>{1, 2, 3, 4, 5};
foreach (int num in nums)
{
Console.WriteLine(num);
}
上述示例中,定义了一个包含5个整型元素的List
集合nums
,使用foreach
循环遍历输出每个元素的值。
七、foreach遍历Map集合
Map
集合是C#中的一种键值对数据结构,可以通过foreach
循环遍历。
以下是遍历整型Map集合的示例代码:
Dictionary<string, int> dict = new Dictionary<string, int>{
{"apple", 1}, {"banana", 2}, {"orange", 3}
};
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine(kvp.Key + ": " + kvp.Value);
}
上述示例中,定义了一个包含3个键值对的整型Map集合dict
,使用foreach
循环遍历输出每个键值对的键和值。
八、foreach遍历对象
在C#中,遍历对象需要使用反射技术,通过获取对象的属性和字段进行遍历。 以下是遍历自定义对象的示例代码:
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Person person = new Person{Name="Tom", Age=20};
foreach (var prop in person.GetType().GetProperties())
{
Console.WriteLine(prop.Name + ": " + prop.GetValue(person));
}
foreach (var field in person.GetType().GetFields())
{
Console.WriteLine(field.Name + ": " + field.GetValue(person));
}
上述示例中,定义了一个包含姓名和年龄属性的Person
类,创建了一个Person
对象person
,使用反射技术遍历输出对象的属性和字段。
九、foreach遍历数组详解
遍历数组是C#编程中的基本操作之一,通过使用foreach
循环可以方便地遍历数组中的所有元素。
以下是遍历整型数组的详细示例代码:
int[] nums = {1, 2, 3, 4, 5};
foreach (int num in nums)
{
Console.WriteLine(num);
}
上述示例中,定义了一个包含5个元素的整型数组nums
,使用foreach
循环遍历输出每个元素的值。
使用foreach
遍历数组时需要注意以下几点:
foreach
循环遍历的数组必须是数组类型,不能是其他集合类型,否则会引发编译错误;foreach
循环每次迭代会自动提取下一个元素,可将其赋给一个变量;foreach
循环只能读取数组元素的值,不能修改,否则会引发编译错误;foreach
遍历数组时不必担心数组越界的问题,因为foreach
循环会在遍历完成后自动退出循环。
十、js foreach遍历选取
在JavaScript中,没有直接实现foreach
循环的方法,但可以通过使用for...in
循环来实现,遍历对象中的所有可枚举属性。
以下是使用for...in
循环遍历数组的示例代码:
var nums = [1, 2, 3, 4, 5];
for (var i in nums)
{
console.log(nums[i]);
}
上述示例中,定义了一个包含5个元素的数组nums
,使用for...in
循环遍历输出每个元素的值。
使用for...in
循环遍历数组时需要注意以下几点:
for...in
循环遍历的是数组的索引,而不是数组元素本身;- 可以使用数组名加上索引值的方式来访问数组元素的值;
- 使用
for...in
循环遍历数组时需要注意数组中可能存在的空值和未定义值,需要使用if
语句进行判断。