怎么将字符串数组中的空项(值为“”的项)去除? 如str[0]="aa"str[1]=""str[2]="gg"str[3]=""怎么将这个数组变为str[0]="aa"str[1]="gg" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数组改变了长度吗?如果不变的话,只要看哪个元素 == string.Empty,然后将下一个元素复制过来就好了吧,要是变长了就借用ArrayList变化一下 string[] str = new string[]{"aa", "", "gg", ""}; ArrayList al = new ArrayList(); for (int i = 0; i < str.Length; i++) { if (str[i] != string.Empty) al.Add(str[i]); } string[] str2 = new string[al.Count]; for (int i = 0; i < str2.Length; i++) { str2[i] = (string)al[i]; } 可以这样:以“|”分割合并成字符串替换“||”为“|”再分割成数组就OK了。string strNew = "";for(int i=0; i<str1.Length; i++){ if(i < str1.Length - 1) strNew += str1[i] + "|";}strNew = strNew.Replace("||", "|");string[] str2 = strNew.Split(new char[] {'|'}); string[] strs={"a","","","","b","c","d","",""};string str=string.Join("|",strs);while(str.IndexOf("||")>=0){ str=str.Replace("||","|");}str=str.Trim(new char[]{'|'});string[] strs2=str.Split('|'); 这个明显适合用 StringCollection (优先考虑,没有ArrayList的装箱/拆箱等步骤)或ArrayListfor (int i = 0; i < str.Length; i++){ if (str[i] != string.Empty) stringCollection.Add(str[i]);}以后就直接用 stringCollection了,方便可靠,实现了IList、IEnumerator等接口.实在想转回字符串数组: string [] str = new string(stringCollection.count)stringCollection.CopyTo(str,0) string strNew = "";for(int i=0; i<str1.Length; i++){ if(i < str1.Length - 1) strNew += str1[i] + "|";}strNew = strNew.Replace("||", "|");string[] str2 = strNew.Split(new char[] {'|'}); 文件下载问题 c#是否可以封装成标准的win32 dll? 已知一个类的名字(string型),如何运用 反射技术 ,实例化一个对象? 急,急,datatable问题?? msdn上的code snippets怎么下载不了了,我试了好多次,根本就无法下载,提示说页面不存在。 C#中如何实现打印Form表单? 哪位朋友用数据库做过menuStrip无限级的下拉菜单啊 定制开发软件你们是怎样报价的?(在线等) c#中无边框窗体改变大小? combobox 自动匹配功能 如何在C#中实现对firebird数据库的备份,有一个gbak命令,怎么联系起来呢 日期字段的问题
ArrayList al = new ArrayList();
for (int i = 0; i < str.Length; i++)
{
if (str[i] != string.Empty)
al.Add(str[i]);
} string[] str2 = new string[al.Count];
for (int i = 0; i < str2.Length; i++)
{
str2[i] = (string)al[i];
}
for(int i=0; i<str1.Length; i++)
{
if(i < str1.Length - 1)
strNew += str1[i] + "|";
}
strNew = strNew.Replace("||", "|");
string[] str2 = strNew.Split(new char[] {'|'});
string str=string.Join("|",strs);
while(str.IndexOf("||")>=0)
{
str=str.Replace("||","|");
}
str=str.Trim(new char[]{'|'});
string[] strs2=str.Split('|');
StringCollection (优先考虑,没有ArrayList的装箱/拆箱等步骤)
或
ArrayList
for (int i = 0; i < str.Length; i++)
{
if (str[i] != string.Empty)
stringCollection.Add(str[i]);
}
以后就直接用 stringCollection了,方便可靠,实现了IList、IEnumerator等接口.
实在想转回字符串数组:
string [] str = new string(stringCollection.count)
stringCollection.CopyTo(str,0)
for(int i=0; i<str1.Length; i++)
{
if(i < str1.Length - 1)
strNew += str1[i] + "|";
}
strNew = strNew.Replace("||", "|");
string[] str2 = strNew.Split(new char[] {'|'});