标签:
asp教程.net c#数组遍历、排序、删除元素、插入、随机元素
数组遍历
short[] sts={0,1,100,200};
for(int i=0;i<sts.lenght;i++)
{
if(sts[i]>50)
{
.....
}
}
数组随机元素
public hashtable noorder(int count)
{
arraylist mylist = new arraylist();
hashtable hash = new hashtable();
random r=new random ();
for (int i = 0; i < count; i++)
{
mylist.add(i);
}
int listcount=mylist.count;
for (int i = 0; i < listcount; i++)
{
int rand= r.next(mylist.count);
hash.add(mylist[rand],i );
mylist.removeat(rand);
}
return hash;
}
看一个数组操作类
using system;
using system.collections.generic;
using system.text;
using system.text.regularexpressions;
using system.windows.forms;
namespace arr
{
/*
* 实现功能:
* 向数组中添加一个值,不需再手动扩展数组大小
* 两个数组相加
* 去除数组中指定的项
* 去除数组中重复的项(数字或字符串都行。字符串有两种算法,各位同仁自行比较优劣)
* 移除数组中部分相同的项,估计不常用,以前自己需要时写上去的,很久没用了。
* 对数组重新排序(数字数组可由大到小或由小到大,带数字和字符串数组仅进行了降序排列)
* 获取数组内重复最多的项,仅做了string数组,数字数组如果大家需要,可自行添加,算法一样。
* ps教程:本人对c#不算老鸟,如果算法中有失误的地方,还请原谅。
* 交流qq:9729052
*/
class array
{
#region 向数组添加一个值
public static string[] arrayadditem(string[] arr, string item)
{
string[] _arr = new string[arr.length + 1];
arr.copyto(_arr, 0);
_arr[arr.length] = item;
return _arr;
}public static string[][] arrayadditem(string[][] motherarray, string[] arr)
{
string[][] _arr = new string[motherarray.length + 1][];
motherarray.copyto(_arr, 0);
_arr[motherarray.length] = arr;
return _arr;
}
#endregion#region 去除数组中指定的项
/// <summary>
/// 去除数组中指定的项
/// </summary>
/// <param name="arr">一个字符串数组</param>
/// <param name="index">索引项</param>
/// <returns></returns>
public static string[] removeat(string[] arr, int index)
{
if (index >= arr.length || index < 0)
{
return arr;
}
else
{
string[] newarr = new string[arr.length - 1];
array.copy(arr, 0, newarr, 0, index);
array.copy(arr, index + 1, newarr, index, newarr.length - index);
return newarr;
}
}/// <summary>
/// 去除数组中指定的项
/// </summary>
/// <param name="arr">一个数字数组</param>
/// <param name="index">索引项</param>
/// <returns></returns>
public static int[] removeat(int[] arr, int index)
{
if (index >= arr.length || index < 0)
{
return arr;
}
else
{
int[] newarr = new int[arr.length - 1];
array.copy(arr, 0, newarr, 0, index);
array.copy(arr, index + 1, newarr, index, newarr.length - index);
return newarr;
}
}
#endregion#region 数组相加
/// <summary>
/// 数组相加
/// </summary>
/// <param name="arrays">由一维数组组成的二维数组</param>
/// <returns></returns>
public static string[] arrayadd(string[][] arrays)
{
/*例:
* string[] array1={ };
*string[] array2={"1","2","3"};
*string[] array3={"ab","cd","ef"};
*string[][] arrays={array1,array2,array3};
*string[] newarray=array.arrayadd(arrays);
*/
int itemsnumber = 0;
for (int i = 0; i < arrays.length; i++)
{
if (arrays[i] == null)
continue;
else
itemsnumber += arrays[i].length;
}
int enditemnumber = 0;string[] newarray = new string[itemsnumber];
for (int i = 0; i < arrays.length; i++)
{
if (arrays[i] != null)
{
arrays[i].copyto(newarray, enditemnumber);
enditemnumber += arrays[i].length;
}
}return newarray;
}public static int[] arrayadd(int[][] arrays)
{
int itemsnumber = 0;
//system.windows.forms.messagebox.show(arrays.length + ":走到这里了");
for (int i = 0; i < arrays.length; i++)
{
if (arrays[i] == null)
continue;
else
itemsnumber += arrays[i].length;
}
int enditemnumber = 0;int[] newarray = new int[itemsnumber];
for (int i = 0; i < arrays.length; i++)
{
if (arrays[i] != null)
{
arrays[i].copyto(newarray, enditemnumber);
enditemnumber += arrays[i].length;
}
}return newarray;
}
#endregion
例如:
string aa=“12,13,14,15,16”;那么怎么让它一个一个的插入数据库教程呢?其思路如下:
string[] comids=aa.split(‘,‘);
foreach(string id in comids)
{
if(id!="")
{
txtsqlinsert +="insert into comidlist(uemail,comids,sendtime) values(‘"+this.txtmail.value+"‘,‘"+id+"‘,default)";
}
}
dbcon.upconnection(txtsqlinsert);//这个就是一个传入一个sql语句很常用的函数了。/// <summary>
/// 执行sql语句什么都不返回
/// </summary>
/// <param name="sqlstr"></param>
public static void upconnection(string sqlstr)
{
sqlconnection con=new sqlconnection(constr);
sqlcommand cmd=new sqlcommand(sqlstr,con);
con.open();
cmd.executenonquery();//执行t-sql语句,并返回受影响的行数
con.close();
}
转 :asp教程.net c#数组遍历、排序、删除元素、插入、随机元素 数组遍历
标签:
原文地址:http://www.cnblogs.com/Firepad-magic/p/4795833.html