#region 判断字符路径是否有特殊字符
/// <summary>
/// 判断字符路径是否有特殊字符
/// </summary>
/// <param name="strHtml">路径名</param>
/// <returns></returns>
public bool FilterSpecial(string strHtml)
{
bool blStr = true;
if (string.Empty == strHtml)
{
return false;
}
string[] aryReg = { "'", "?", "<", ">", "%", "\"\"", ",",">=", "=<", "_", ";", "||", "[", "]", "|", "-","#"," ","?" };
// string[] aryReg = { "#" };
for (int i = 0; i < aryReg.Length; i++)
{
// strHtml = strHtml.Replace(aryReg[i], string.Empty);
if (strHtml.Contains(aryReg[i]))
{
blStr = false;
}
}
return blStr;
}
#endregion
可以这样调用
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
List<string> lstFileName = new List<string>();
string[] selFiles2 = ofd.FileNames;
for (int i = 0; i < selFiles2.Length; i++)
{
bool b1=FilterSpecial(selFiles2[i]);
if (b1)
{
lstFileName.Add(selFiles2[i]);
}
}
// string[] selFiles = new string[lstFileName.Count];
string[] selFiles = lstFileName.ToArray();
还有其它的方法
1,从System.String[]转到List<System.String>
System.String[] str={"str","string","abc"};
List<System.String> listS=new List<System.String>(str);
2, 从List<System.String>转到System.String[]
List<System.String> listS=new List<System.String>();
listS.Add("str");
listS.Add("hello");
System.String[] str=listS.ToArray();
测试如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
System.String[] sA = { "str","string1","sting2","abc"};
List<System.String> sL = new List<System.String>();
for (System.Int32 i = 0; i < sA.Length;i++ )
{
Console.WriteLine("sA[{0}]={1}",i,sA[i]);
}
sL = new List<System.String>(sA);
sL.Add("Hello!");
foreach(System.String s in sL)
{
Console.WriteLine(s);
}
System.String[] nextString = sL.ToArray();
Console.WriteLine("The Length of nextString is {0}",nextString.Length);
Console.Read();
}
}
}