c#如何为foreach语句中的空值赋值?
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicat...
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//Program mytest = new Program();
//Console.WriteLine(testing());
testing();
}
private static string testing()
{
//string sum = "";
string[] arr = new string[5];
arr[1] = "5";
arr[3] = "51";
arr[4] = "52";
foreach (string i in arr)
{
if (i=="")
{
i="空";
}
Console.WriteLine(i);
}
//return sum;
return arr.ToString();
}
}
}
调试的结果出错
提示为:“i是一个foreach变量,无法为它赋值” 展开
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//Program mytest = new Program();
//Console.WriteLine(testing());
testing();
}
private static string testing()
{
//string sum = "";
string[] arr = new string[5];
arr[1] = "5";
arr[3] = "51";
arr[4] = "52";
foreach (string i in arr)
{
if (i=="")
{
i="空";
}
Console.WriteLine(i);
}
//return sum;
return arr.ToString();
}
}
}
调试的结果出错
提示为:“i是一个foreach变量,无法为它赋值” 展开
6个回答
展开全部
foreach中不可对正在迭代的变量赋值
改成
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] == "")
arr[i] = "空";
}
改成
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] == "")
arr[i] = "空";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//你可以用for代替foreach
private static string testing()
{
//string sum = "";
string[] arr = new string[5];
arr[1] = "5";
arr[3] = "51";
arr[4] = "52";
for (int i=0;i<arr.Length;i++)
{
if (string.IsNullOrWhiteSpace(arr[i]))
{
arr[i] = "空";
}
Console.WriteLine(arr[i]);
}
//return sum;
return arr.ToString();
}
private static string testing()
{
//string sum = "";
string[] arr = new string[5];
arr[1] = "5";
arr[3] = "51";
arr[4] = "52";
for (int i=0;i<arr.Length;i++)
{
if (string.IsNullOrWhiteSpace(arr[i]))
{
arr[i] = "空";
}
Console.WriteLine(arr[i]);
}
//return sum;
return arr.ToString();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题关键出在,你给 i 赋值,提示的已经很清楚了,
foreach中不可对正在迭代的变量赋值@Raiuy,是正解。
这种情况的正确做法,应该是用for循环,@涐会 的做法最好
foreach中不可对正在迭代的变量赋值@Raiuy,是正解。
这种情况的正确做法,应该是用for循环,@涐会 的做法最好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-05
展开全部
i是个数组的下标 你怎么能给他赋值呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询