c# foreach用法
Stringcharstr="a,b,c,d,e,f,s,d,g,t";String[]a=charstr.Split(',');foreach(inti1ina){Co...
String charstr="a,b,c,d,e,f,s,d,g,t";
String[] a = charstr.Split(',');
foreach(int i1 in a)
{
Console.WriteLine("dfdasf"+i1);
}
出错说“错误 1 无法将类型“string”转换为“int” E:\作业\09-10学年第一学期\c#程序设计\类型转换实验\截断\ConsoleApplication2\ConsoleApplication2\Program.cs 13 17 ConsoleApplication2
”
奇怪啊,还有就是,顺便在给我提些FOREACH语句的使用注意要点吧,毕竟是比较特殊的循环,还有它的原理啥的也行,谢过 展开
String[] a = charstr.Split(',');
foreach(int i1 in a)
{
Console.WriteLine("dfdasf"+i1);
}
出错说“错误 1 无法将类型“string”转换为“int” E:\作业\09-10学年第一学期\c#程序设计\类型转换实验\截断\ConsoleApplication2\ConsoleApplication2\Program.cs 13 17 ConsoleApplication2
”
奇怪啊,还有就是,顺便在给我提些FOREACH语句的使用注意要点吧,毕竟是比较特殊的循环,还有它的原理啥的也行,谢过 展开
2个回答
展开全部
String[] a = charstr.Split(',');
foreach(string i1 in a){
Console.WriteLine("dfdasf"+i1);
}
foreach是遍历集合、数组
要注意的是,他并不是你想象的定义一个i然后系统循环i<length!
它上面需要你填要转换出来的类型
你是要遍历一个string的数组
那么这里就应该写string 临时变量名 in 数组名
Console.writeLine(临时变量名);//输出数组内容
它这个是不需要定义索引的,你也不能定义。。系统会自动输出的
foreach(string i1 in a){
Console.WriteLine("dfdasf"+i1);
}
foreach是遍历集合、数组
要注意的是,他并不是你想象的定义一个i然后系统循环i<length!
它上面需要你填要转换出来的类型
你是要遍历一个string的数组
那么这里就应该写string 临时变量名 in 数组名
Console.writeLine(临时变量名);//输出数组内容
它这个是不需要定义索引的,你也不能定义。。系统会自动输出的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。
能够应用的编程语言类别:Java、C# 、PHP、D语言(Phobos库)。
foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。
foreach语句的一般语法格式如下:
foreach(数据类型 标识符 in 表达式)
{
循环体
}。
此语句的形式如下:
foreach (type identifier in expression) statement
其中:
type
identifier 的类型。
identifier
表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。
expression
对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。
而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。
statement
要执行的嵌入语句。
事例:
int[]arr=newint[]{0,1,2,3,4};
foreach(int i in arr)
{
Console.Write(i);
}
C#中:foreach 针对引用类型地址的访问
如果当前方法中在访问当前引用类型的集合,在新调用的 方法中在修改当前集合的地址时,当前地址会依然存在,不符合C#中的对象的生命周期,一旦当前文件的引用地址被替换掉了,当前对象的空间就消失废弃了,但是,foreach(){
}会保留原先的集合的地址<地址应该也是有生命周期的>foreach 和for 就不一样!
c#中:foreach举例
using System;
class Number
{
static void Main()
{
int evenNum = 0, oddNum = 0;
//定义并初始化一个一维数组
int[] arr = new int[] { 13, 16, 15, 78, 26, 65, 39 };
foreach (intk in arr) //提取数组中的整数
{
if (k % 2 == 0) //判断是否为偶数
evenNum++;
else
oddNum++;
}
Console.WriteLine("偶数个数:{0} 奇数个数:{1}", evenNum, oddNum);
Console.ReadKey();
}
}
能够应用的编程语言类别:Java、C# 、PHP、D语言(Phobos库)。
foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。
foreach语句的一般语法格式如下:
foreach(数据类型 标识符 in 表达式)
{
循环体
}。
此语句的形式如下:
foreach (type identifier in expression) statement
其中:
type
identifier 的类型。
identifier
表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。
expression
对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。
而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。
statement
要执行的嵌入语句。
事例:
int[]arr=newint[]{0,1,2,3,4};
foreach(int i in arr)
{
Console.Write(i);
}
C#中:foreach 针对引用类型地址的访问
如果当前方法中在访问当前引用类型的集合,在新调用的 方法中在修改当前集合的地址时,当前地址会依然存在,不符合C#中的对象的生命周期,一旦当前文件的引用地址被替换掉了,当前对象的空间就消失废弃了,但是,foreach(){
}会保留原先的集合的地址<地址应该也是有生命周期的>foreach 和for 就不一样!
c#中:foreach举例
using System;
class Number
{
static void Main()
{
int evenNum = 0, oddNum = 0;
//定义并初始化一个一维数组
int[] arr = new int[] { 13, 16, 15, 78, 26, 65, 39 };
foreach (intk in arr) //提取数组中的整数
{
if (k % 2 == 0) //判断是否为偶数
evenNum++;
else
oddNum++;
}
Console.WriteLine("偶数个数:{0} 奇数个数:{1}", evenNum, oddNum);
Console.ReadKey();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询