替换数组中指定位置的值? 程序中有一数组如:2,3,5,3,2,5比如我要将第二个3替换成7怎么弄呢?因为数组里面可能有多个重复的值。现在得到了数组的位置。不知道怎么替换指定位置的值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int[] values = { 2, 3, 5, 3, 2, 5 }; int counter = 0; for (int i = 0; i < values.Length; i++) { if (values[i] == 3) counter++; if (counter == 2) { values[i] = 7; break; } } foreach (int value in values) Response.Write(value + " "); private void SetArr(int[] arr, int i) { arr = new int[] { 2, 3, 5, 3, 2, 5 }; var v = arr.Select((m, index) => new { index, m }).Where(x => x.m == 3).Take(2).Reverse().First(); arr[v.index] = 6; } private void button10_Click(object sender, EventArgs e) { int[] arr = new int[] { 2, 3, 5, 3, 2, 5 }; SetArr(arr, 2); } 改一下//arr数组,i索引,n要改成的值 private void SetArr(int[] arr, int i,int n) { var v = arr.Select((m, index) => new { index, m }).Where(x => x.m == 3).Take(2).Reverse().First(); arr[v.index] = n; } private void button10_Click(object sender, EventArgs e) { int[] arr = new int[] { 2, 3, 5, 3, 2, 5 }; SetArr(arr, 2,6); } 我现在能得到旧的数组内容,要替换的位置,和要替换的内容比如:string oldarr="1,2,3,4,5,5,6,7,4,3...."//旧的数组。int arrnum=3;//得到替换的位置。这个是通过URL传值过来的string newstr="5";//这个是要替换的新内容我要得到替换后的新的数组内容按上面的来说的话。结果就是string newarr="1,2,3,5...."这样了 private int[] RepalceArray(int[] values, int pos, int oldvalue, int newvalue) { values[values.Select((a, i) => new { i, a }).Where(a => a.a.Equals(oldvalue)).Take(pos).Reverse().FirstOrDefault().i] = newvalue; return values; }int[] values = { 2, 3, 5, 3, 2, 5,3 };values = RepalceArray(values,2,3,7);//将第二个3改成7 string oldarr = "1,2,3,4,5,5,6,7,4,3"; int arrnum = 3; string newstr = "5"; string[] parts = oldarr.Split(','); parts[arrnum] = newstr; string r = string.Join(",", parts); Response.Write(r); 注意:Linq是在.NET Framework 3.5 中出现的技术,所以在创建新项目的时候必须要选3.5或者更高版本,否则无法使用。 2005没有LINQ,你还是搞个变量,记录一下3的位置,符合你要的位置就修改此位置的值 怎样使系统运行发生ERROR错误时,尽量友好提示,并有返回按钮 实用SqlParameter类执行SQL是不是就无法执行注入攻击了? 关于上传图片切割的问题 项目中导入了一个论坛提示这样的错误.烦请高手解答一下. 怎样在web.config文件中配置这个数据库连接字符串? 截取字符串的问题 我碰到的两个ASP.NET的问题 问一个十分简单的DHMTL问题。。。// js中,如何按回车键,不触发keyup,keydown这些事件 for循环问题2 用dsoframer控件,怎么往ppt或excel里插入图片 用DAO访问Excel2007,提示“找不到可安装的ISAM”
int counter = 0;
for (int i = 0; i < values.Length; i++)
{
if (values[i] == 3)
counter++;
if (counter == 2)
{
values[i] = 7;
break;
}
}
foreach (int value in values)
Response.Write(value + " ");
private void SetArr(int[] arr, int i)
{
arr = new int[] { 2, 3, 5, 3, 2, 5 };
var v = arr.Select((m, index) => new { index, m }).Where(x => x.m == 3).Take(2).Reverse().First();
arr[v.index] = 6;
} private void button10_Click(object sender, EventArgs e)
{ int[] arr = new int[] { 2, 3, 5, 3, 2, 5 };
SetArr(arr, 2);
}
private void SetArr(int[] arr, int i,int n)
{
var v = arr.Select((m, index) => new { index, m }).Where(x => x.m == 3).Take(2).Reverse().First();
arr[v.index] = n;
} private void button10_Click(object sender, EventArgs e)
{ int[] arr = new int[] { 2, 3, 5, 3, 2, 5 };
SetArr(arr, 2,6);
}
string oldarr="1,2,3,4,5,5,6,7,4,3...."//旧的数组。
int arrnum=3;//得到替换的位置。这个是通过URL传值过来的
string newstr="5";//这个是要替换的新内容我要得到替换后的新的数组内容按上面的来说的话。结果就是
string newarr="1,2,3,5...."这样了
private int[] RepalceArray(int[] values, int pos, int oldvalue, int newvalue)
{
values[values.Select((a, i) => new { i, a }).Where(a => a.a.Equals(oldvalue)).Take(pos).Reverse().FirstOrDefault().i] = newvalue;
return values;
}
int[] values = { 2, 3, 5, 3, 2, 5,3 };
values = RepalceArray(values,2,3,7);//将第二个3改成7
int arrnum = 3;
string newstr = "5";
string[] parts = oldarr.Split(',');
parts[arrnum] = newstr;
string r = string.Join(",", parts);
Response.Write(r);